{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Lesson-01"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_boston"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = load_boston()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataframe = pd.DataFrame(data['data'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataframe.columns = data['feature_names']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataframe['price'] = data['target']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f7843aa1d10>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.heatmap(dataframe.corr(), annot=True, fmt='.1f')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f783db6b750>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(dataframe['RM'], dataframe['price'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = dataframe['RM']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = dataframe['price']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "history_notes = {_x : _y for _x, _y in zip(x, y)}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "6.58",
     "output_type": "error",
     "traceback": [
      "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[0;31mKeyError\u001B[0m                                  Traceback (most recent call last)",
      "\u001B[0;32m<ipython-input-15-cb435aa2c835>\u001B[0m in \u001B[0;36m<module>\u001B[0;34m\u001B[0m\n\u001B[0;32m----> 1\u001B[0;31m \u001B[0mhistory_notes\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m6.58\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m",
      "\u001B[0;31mKeyError\u001B[0m: 6.58"
     ]
    }
   ],
   "source": [
    "history_notes[6.58]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "similary_ys = [y for _, y in sorted(history_notes.items(), key=lambda x_y: (x_y[0] - 6.57) ** 2)[:3]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.2"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.mean(similary_ys)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 用历史数据来预测未曾见到的过的数据，最直接的方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## K-Neighbor-Nearst"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def knn(query_x, history, top_n=3):\n",
    "    sorted_notes = sorted(history.items(), key=lambda x_y: (x_y[0] - query_x) ** 2) \n",
    "    similar_notes = sorted_notes[:top_n]\n",
    "    similar_ys = [y for _, y in similar_notes]\n",
    "    \n",
    "    return np.mean(similar_ys)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15.700000000000001"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knn(5.4, history_notes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 为了更快的获得结果，我们希望通过拟合函数来获得预测能力"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ f(rm) = k * rm + b $$ "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Random Approach"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ Loss(k, b) = \\frac{1}{n} \\sum_{i \\in N} (\\hat{y_i} - y_i) ^ 2 $$\n",
    "$$ Loss(k, b) = \\frac{1}{n} \\sum_{i \\in N} ((k * rm_i + b) - y_i) ^ 2 $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def loss(y_hat, y):\n",
    "    return np.mean((y_hat - y) ** 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "在第0步，我们获得了函数 f(rm) = -48 * rm + 91, 此时loss是: 56030.13547566797\n",
      "在第3步，我们获得了函数 f(rm) = 19 * rm + 49, 此时loss是: 21371.456735903175\n",
      "在第8步，我们获得了函数 f(rm) = -19 * rm + 16, 此时loss是: 16293.796158037558\n",
      "在第10步，我们获得了函数 f(rm) = 8 * rm + 92, 此时loss是: 14382.888905549413\n",
      "在第13步，我们获得了函数 f(rm) = 5 * rm + -100, 此时loss是: 8352.856759239126\n",
      "在第19步，我们获得了函数 f(rm) = -5 * rm + 11, 此时loss是: 1986.798660424901\n",
      "在第20步，我们获得了函数 f(rm) = -8 * rm + 88, 此时loss是: 418.444801201581\n",
      "在第62步，我们获得了函数 f(rm) = 9 * rm + -15, 此时loss是: 405.7048442826085\n",
      "在第82步，我们获得了函数 f(rm) = 7 * rm + -31, 此时loss是: 136.79628004545464\n",
      "在第90步，我们获得了函数 f(rm) = -3 * rm + 40, 此时loss是: 117.68416961067193\n",
      "在第194步，我们获得了函数 f(rm) = 7 * rm + -18, 此时loss是: 57.74677411660077\n",
      "在第518步，我们获得了函数 f(rm) = 11 * rm + -49, 此时loss是: 51.14401321541502\n"
     ]
    }
   ],
   "source": [
    "min_loss = float('inf')\n",
    "best_k, bes_b = None, None\n",
    "\n",
    "for step in range(1000):\n",
    "    min_v, max_v = -100, 100\n",
    "    k, b = random.randrange(min_v, max_v), random.randrange(min_v, max_v)\n",
    "    y_hats = [k * rm_i  + b for rm_i in x]\n",
    "    current_loss = loss(y_hats, y)\n",
    "    \n",
    "    if current_loss < min_loss:\n",
    "        min_loss = current_loss\n",
    "        best_k, best_b = k, b\n",
    "        print('在第{}步，我们获得了函数 f(rm) = {} * rm + {}, 此时loss是: {}'.format(step, k, b, current_loss))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f783c27f9d0>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.scatter(x, [best_k * rm + best_b for rm in x])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 蒙特卡洛模拟"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Supervisor"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ Loss(k, b) = \\frac{1}{n} \\sum_{i \\in N} ((k * rm_i + b) - y_i) ^ 2 $$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ \\frac{\\partial{loss(k, b)}}{\\partial{k}} = \\frac{2}{n}\\sum_{i \\in N}(k * rm_i + b - y_i) * rm_i $$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ \\frac{\\partial{loss(k, b)}}{\\partial{b}} = \\frac{2}{n}\\sum_{i \\in N}(k * rm_i + b - y_i)$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "在第0步，我们获得了函数 f(rm) = 3.0111417302649826 * rm + 0.752026014419545, 此时loss是: 70.04110921910225\n",
      "在第1步，我们获得了函数 f(rm) = 3.4302473783601264 * rm + 0.8091631233491027, 此时loss是: 59.478050968399835\n",
      "在第2步，我们获得了函数 f(rm) = 3.5069762736063566 * rm + 0.8124789747410274, 此时loss是: 59.12685811839347\n",
      "在第3步，我们获得了函数 f(rm) = 3.5219216566167675 * rm + 0.8060842480337541, 此时loss是: 59.10820423942305\n",
      "在第4步，我们获得了函数 f(rm) = 3.525717694565284 * rm + 0.7979388905006388, 此时loss是: 59.100382510385046\n",
      "在第5步，我们获得了函数 f(rm) = 3.527501524520546 * rm + 0.7894793059056471, 此时loss是: 59.09291698482354\n",
      "在第6步，我们获得了函数 f(rm) = 3.5289219792985747 * rm + 0.7809646986209946, 此时loss是: 59.085466526131654\n",
      "在第7步，我们获得了函数 f(rm) = 3.5302765974073917 * rm + 0.7724418427031616, 此时loss是: 59.07802002399254\n",
      "在第8步，我们获得了函数 f(rm) = 3.531619070918583 * rm + 0.7639191783127174, 此时loss是: 59.07057711494723\n",
      "在第9步，我们获得了函数 f(rm) = 3.5329590888436884 * rm + 0.7553982281062311, 此时loss是: 59.06313778549417\n",
      "在第10步，我们获得了函数 f(rm) = 3.5342983996669006 * rm + 0.746879266449239, 此时loss是: 59.05570203352862\n",
      "在第11步，我们获得了函数 f(rm) = 3.535637318972632 * rm + 0.7383623424482884, 此时loss是: 59.0482698573176\n",
      "在第12步，我们获得了函数 f(rm) = 3.5369759037728095 * rm + 0.729847464561143, 此时loss是: 59.04084125514141\n",
      "在第13步，我们获得了函数 f(rm) = 3.538314164418913 * rm + 0.721334633910429, 此时loss是: 59.03341622528119\n",
      "在第14步，我们获得了函数 f(rm) = 3.539652102842343 * rm + 0.7128238502952143, 此时loss是: 59.02599476601903\n",
      "在第15步，我们获得了函数 f(rm) = 3.5409897194550473 * rm + 0.704315113275823, 此时loss是: 59.01857687563797\n",
      "在第16步，我们获得了函数 f(rm) = 3.5423270143947683 * rm + 0.6958084223695936, 此时loss是: 59.01116255242172\n",
      "在第17步，我们获得了函数 f(rm) = 3.543663987749749 * rm + 0.6873037770862048, 此时loss是: 59.0037517946549\n",
      "在第18步，我们获得了函数 f(rm) = 3.545000639599288 * rm + 0.6788011769340501, 此时loss是: 58.99634460062289\n",
      "在第19步，我们获得了函数 f(rm) = 3.546336970021053 * rm + 0.6703006214213878, 此时loss是: 58.988940968612084\n",
      "在第20步，我们获得了函数 f(rm) = 3.5476729790924035 * rm + 0.6618021100565491, 此时loss是: 58.98154089690936\n",
      "在第21步，我们获得了函数 f(rm) = 3.549008666890625 * rm + 0.6533056423479746, 此时loss是: 58.97414438380269\n",
      "在第22步，我们获得了函数 f(rm) = 3.5503440334929786 * rm + 0.6448112178042222, 此时loss是: 58.96675142758082\n",
      "在第23步，我们获得了函数 f(rm) = 3.5516790789767017 * rm + 0.6363188359339674, 此时loss是: 58.9593620265333\n",
      "在第24步，我们获得了函数 f(rm) = 3.5530138034190157 * rm + 0.6278284962460041, 此时loss是: 58.95197617895038\n",
      "在第25步，我们获得了函数 f(rm) = 3.5543482068971217 * rm + 0.6193401982492439, 此时loss是: 58.94459388312339\n",
      "在第26步，我们获得了函数 f(rm) = 3.5556822894882028 * rm + 0.6108539414527168, 此时loss是: 58.93721513734426\n",
      "在第27步，我们获得了函数 f(rm) = 3.5570160512694238 * rm + 0.6023697253655707, 此时loss是: 58.92983993990589\n",
      "在第28步，我们获得了函数 f(rm) = 3.5583494923179297 * rm + 0.5938875494970716, 此时loss是: 58.92246828910188\n",
      "在第29步，我们获得了函数 f(rm) = 3.5596826127108487 * rm + 0.5854074133566034, 此时loss是: 58.91510018322667\n",
      "在第30步，我们获得了函数 f(rm) = 3.5610154125252897 * rm + 0.5769293164536683, 此时loss是: 58.90773562057561\n",
      "在第31步，我们获得了函数 f(rm) = 3.5623478918383418 * rm + 0.5684532582978861, 此时loss是: 58.90037459944476\n",
      "在第32步，我们获得了函数 f(rm) = 3.5636800507270774 * rm + 0.5599792383989947, 此时loss是: 58.89301711813102\n",
      "在第33步，我们获得了函数 f(rm) = 3.5650118892685496 * rm + 0.5515072562668498, 此时loss是: 58.88566317493221\n",
      "在第34步，我们获得了函数 f(rm) = 3.5663434075397933 * rm + 0.5430373114114251, 此时loss是: 58.878312768146934\n",
      "在第35步，我们获得了函数 f(rm) = 3.567674605617824 * rm + 0.534569403342812, 此时loss是: 58.87096589607447\n",
      "在第36步，我们获得了函数 f(rm) = 3.56900548357964 * rm + 0.5261035315712198, 此时loss是: 58.86362255701515\n",
      "在第37步，我们获得了函数 f(rm) = 3.570336041502219 * rm + 0.5176396956069754, 此时loss是: 58.85628274926979\n",
      "在第38步，我们获得了函数 f(rm) = 3.571666279462524 * rm + 0.5091778949605239, 此时loss是: 58.84894647114048\n",
      "在第39步，我们获得了函数 f(rm) = 3.572996197537495 * rm + 0.5007181291424276, 此时loss是: 58.84161372092972\n",
      "在第40步，我们获得了函数 f(rm) = 3.574325795804056 * rm + 0.4922603976633667, 此时loss是: 58.83428449694094\n",
      "在第41步，我们获得了函数 f(rm) = 3.5756550743391124 * rm + 0.4838047000341392, 此时loss是: 58.826958797478625\n",
      "在第42步，我们获得了函数 f(rm) = 3.5769840332195506 * rm + 0.47535103576566057, 此时loss是: 58.819636620847625\n",
      "在第43步，我们获得了函数 f(rm) = 3.5783126725222383 * rm + 0.4668994043689639, 此时loss是: 58.81231796535405\n",
      "在第44步，我们获得了函数 f(rm) = 3.5796409923240256 * rm + 0.4584498053552, 此时loss是: 58.80500282930457\n",
      "在第45步，我们获得了函数 f(rm) = 3.5809689927017434 * rm + 0.4500022382356372, 此时loss是: 58.797691211006764\n",
      "在第46步，我们获得了函数 f(rm) = 3.5822966737322046 * rm + 0.4415567025216611, 此时loss是: 58.79038310876884\n",
      "在第47步，我们获得了函数 f(rm) = 3.583624035492203 * rm + 0.43311319772477513, 此时loss是: 58.783078520900155\n",
      "在第48步，我们获得了函数 f(rm) = 3.584951078058514 * rm + 0.4246717233566001, 此时loss是: 58.77577744571059\n",
      "在第49步，我们获得了函数 f(rm) = 3.5862778015078955 * rm + 0.4162322789288742, 此时loss是: 58.76847988151103\n",
      "在第50步，我们获得了函数 f(rm) = 3.5876042059170863 * rm + 0.40779486395345305, 此时loss是: 58.761185826613044\n",
      "在第51步，我们获得了函数 f(rm) = 3.5889302913628067 * rm + 0.3993594779423096, 此时loss是: 58.753895279329\n",
      "在第52步，我们获得了函数 f(rm) = 3.5902560579217577 * rm + 0.3909261204075342, 此时loss是: 58.74660823797224\n",
      "在第53步，我们获得了函数 f(rm) = 3.5915815056706233 * rm + 0.3824947908613346, 此时loss是: 58.73932470085676\n",
      "在第54步，我们获得了函数 f(rm) = 3.592906634686069 * rm + 0.37406548881603585, 此时loss是: 58.73204466629732\n",
      "在第55步，我们获得了函数 f(rm) = 3.5942314450447403 * rm + 0.36563821378408007, 此时loss是: 58.72476813260967\n",
      "在第56步，我们获得了函数 f(rm) = 3.595555936823266 * rm + 0.35721296527802693, 此时loss是: 58.71749509811041\n",
      "在第57步，我们获得了函数 f(rm) = 3.596880110098256 * rm + 0.3487897428105531, 此时loss是: 58.71022556111666\n",
      "在第58步，我们获得了函数 f(rm) = 3.5982039649463005 * rm + 0.3403685458944524, 此时loss是: 58.70295951994657\n",
      "在第59步，我们获得了函数 f(rm) = 3.5995275014439736 * rm + 0.33194937404263614, 此时loss是: 58.695696972919\n",
      "在第60步，我们获得了函数 f(rm) = 3.6008507196678288 * rm + 0.32353222676813237, 此时loss是: 58.68843791835367\n",
      "在第61步，我们获得了函数 f(rm) = 3.6021736196944034 * rm + 0.3151171035840864, 此时loss是: 58.681182354571234\n",
      "在第62步，我们获得了函数 f(rm) = 3.6034962016002137 * rm + 0.3067040040037606, 此时loss是: 58.67393027989288\n",
      "在第63步，我们获得了函数 f(rm) = 3.6048184654617597 * rm + 0.29829292754053444, 此时loss是: 58.66668169264081\n",
      "在第64步，我们获得了函数 f(rm) = 3.606140411355521 * rm + 0.2898838737079043, 此时loss是: 58.65943659113793\n",
      "在第65步，我们获得了函数 f(rm) = 3.6074620393579613 * rm + 0.28147684201948375, 此时loss是: 58.65219497370801\n",
      "在第66步，我们获得了函数 f(rm) = 3.6087833495455244 * rm + 0.27307183198900314, 此时loss是: 58.644956838675604\n",
      "在第67步，我们获得了函数 f(rm) = 3.6101043419946355 * rm + 0.2646688431303098, 此时loss是: 58.63772218436602\n",
      "在第68步，我们获得了函数 f(rm) = 3.6114250167817024 * rm + 0.256267874957368, 此时loss是: 58.630491009105576\n",
      "在第69步，我们获得了函数 f(rm) = 3.6127453739831146 * rm + 0.24786892698425889, 此时loss是: 58.62326331122109\n",
      "在第70步，我们获得了函数 f(rm) = 3.6140654136752404 * rm + 0.23947199872518024, 此时loss是: 58.616039089040385\n",
      "在第71步，我们获得了函数 f(rm) = 3.6153851359344347 * rm + 0.23107708969444715, 此时loss是: 58.60881834089202\n",
      "在第72步，我们获得了函数 f(rm) = 3.6167045408370293 * rm + 0.222684199406491, 此时loss是: 58.60160106510544\n",
      "在第73步，我们获得了函数 f(rm) = 3.618023628459341 * rm + 0.21429332737586024, 此时loss是: 58.59438726001079\n",
      "在第74步，我们获得了函数 f(rm) = 3.619342398877666 * rm + 0.2059044731172199, 此时loss是: 58.5871769239391\n",
      "在第75步，我们获得了函数 f(rm) = 3.6206608521682835 * rm + 0.19751763614535184, 此时loss是: 58.579970055222034\n",
      "在第76步，我们获得了函数 f(rm) = 3.6219789884074536 * rm + 0.18913281597515447, 此时loss是: 58.572766652192335\n",
      "在第77步，我们获得了函数 f(rm) = 3.6232968076714185 * rm + 0.18075001212164302, 此时loss是: 58.56556671318336\n",
      "在第78步，我们获得了函数 f(rm) = 3.6246143100364026 * rm + 0.1723692240999492, 此时loss是: 58.55837023652931\n",
      "在第79步，我们获得了函数 f(rm) = 3.62593149557861 * rm + 0.16399045142532134, 此时loss是: 58.551177220565116\n",
      "在第80步，我们获得了函数 f(rm) = 3.6272483643742293 * rm + 0.15561369361312444, 此时loss是: 58.54398766362667\n",
      "在第81步，我们获得了函数 f(rm) = 3.6285649164994283 * rm + 0.14723895017883992, 此时loss是: 58.536801564050606\n",
      "在第82步，我们获得了函数 f(rm) = 3.6298811520303573 * rm + 0.13886622063806575, 此时loss是: 58.52961892017419\n",
      "在第83步，我们获得了函数 f(rm) = 3.631197071043149 * rm + 0.13049550450651645, 此时loss是: 58.52243973033564\n",
      "在第84步，我们获得了函数 f(rm) = 3.632512673613917 * rm + 0.1221268013000229, 此时loss是: 58.515263992874054\n",
      "在第85步，我们获得了函数 f(rm) = 3.6338279598187566 * rm + 0.11376011053453249, 此时loss是: 58.50809170612916\n",
      "在第86步，我们获得了函数 f(rm) = 3.6351429297337456 * rm + 0.10539543172610899, 此时loss是: 58.5009228684416\n",
      "在第87步，我们获得了函数 f(rm) = 3.6364575834349426 * rm + 0.09703276439093247, 此时loss是: 58.493757478152766\n",
      "在第88步，我们获得了函数 f(rm) = 3.6377719209983885 * rm + 0.0886721080452995, 此时loss是: 58.48659553360469\n",
      "在第89步，我们获得了函数 f(rm) = 3.6390859425001056 * rm + 0.08031346220562277, 此时loss是: 58.47943703314057\n",
      "在第90步，我们获得了函数 f(rm) = 3.6403996480160967 * rm + 0.07195682638843134, 此时loss是: 58.47228197510417\n",
      "在第91步，我们获得了函数 f(rm) = 3.64171303762235 * rm + 0.06360220011037071, 此时loss是: 58.465130357839996\n",
      "在第92步，我们获得了函数 f(rm) = 3.643026111394831 * rm + 0.05524958288820231, 此时loss是: 58.457982179693445\n",
      "在第93步，我们获得了函数 f(rm) = 3.64433886940949 * rm + 0.04689897423880403, 此时loss是: 58.450837439010655\n",
      "在第94步，我们获得了函数 f(rm) = 3.6456513117422578 * rm + 0.0385503736791697, 此时loss是: 58.44369613413868\n",
      "在第95步，我们获得了函数 f(rm) = 3.646963438469047 * rm + 0.03020378072640955, 此时loss是: 58.43655826342521\n",
      "在第96步，我们获得了函数 f(rm) = 3.6482752496657516 * rm + 0.02185919489774973, 此时loss是: 58.42942382521886\n",
      "在第97步，我们获得了函数 f(rm) = 3.6495867454082487 * rm + 0.013516615710532632, 此时loss是: 58.42229281786896\n",
      "在第98步，我们获得了函数 f(rm) = 3.650897925772396 * rm + 0.005176042682216589, 此时loss是: 58.41516523972563\n",
      "在第99步，我们获得了函数 f(rm) = 3.6522087908340333 * rm + -0.0031625246696239274, 此时loss是: 58.40804108913982\n",
      "在第100步，我们获得了函数 f(rm) = 3.6535193406689817 * rm + -0.011499086827298537, 此时loss是: 58.400920364463325\n",
      "在第101步，我们获得了函数 f(rm) = 3.654829575353045 * rm + -0.019833644273000696, 此时loss是: 58.3938030640486\n",
      "在第102步，我们获得了函数 f(rm) = 3.6561394949620083 * rm + -0.028166197488808192, 此时loss是: 58.38668918624896\n",
      "在第103步，我们获得了函数 f(rm) = 3.6574490995716378 * rm + -0.03649674695668263, 此时loss是: 58.37957872941864\n",
      "在第104步，我们获得了函数 f(rm) = 3.6587583892576827 * rm + -0.044825293158469864, 此时loss是: 58.37247169191231\n",
      "在第105步，我们获得了函数 f(rm) = 3.660067364095873 * rm + -0.05315183657589974, 此时loss是: 58.36536807208584\n",
      "在第106步，我们获得了函数 f(rm) = 3.661376024161921 * rm + -0.061476377690586455, 此时loss是: 58.35826786829567\n",
      "在第107步，我们获得了函数 f(rm) = 3.6626843695315205 * rm + -0.06979891698402824, 此时loss是: 58.351171078899085\n",
      "在第108步，我们获得了函数 f(rm) = 3.663992400280348 * rm + -0.07811945493760751, 此时loss是: 58.34407770225413\n",
      "在第109步，我们获得了函数 f(rm) = 3.66530011648406 * rm + -0.08643799203259109, 此时loss是: 58.3369877367197\n",
      "在第110步，我们获得了函数 f(rm) = 3.6666075182182962 * rm + -0.09475452875012992, 此时loss是: 58.329901180655284\n",
      "在第111步，我们获得了函数 f(rm) = 3.6679146055586784 * rm + -0.1030690655712592, 此时loss是: 58.322818032421566\n",
      "在第112步，我们获得了函数 f(rm) = 3.669221378580809 * rm + -0.11138160297689871, 此时loss是: 58.31573829037957\n",
      "在第113步，我们获得了函数 f(rm) = 3.6705278373602734 * rm + -0.11969214144785235, 此时loss是: 58.30866195289136\n",
      "在第114步，我们获得了函数 f(rm) = 3.6718339819726378 * rm + -0.1280006814648085, 此时loss是: 58.301589018319746\n",
      "在第115步，我们获得了函数 f(rm) = 3.6731398124934507 * rm + -0.1363072235083399, 此时loss是: 58.29451948502828\n",
      "在第116步，我们获得了函数 f(rm) = 3.6744453289982424 * rm + -0.14461176805890374, 此时loss是: 58.28745335138133\n",
      "在第117步，我们获得了函数 f(rm) = 3.675750531562525 * rm + -0.1529143155968417, 此时loss是: 58.28039061574417\n",
      "在第118步，我们获得了函数 f(rm) = 3.677055420261792 * rm + -0.1612148666023799, 此时loss是: 58.27333127648255\n",
      "在第119步，我们获得了函数 f(rm) = 3.6783599951715202 * rm + -0.169513421555629, 此时loss是: 58.266275331963335\n",
      "在第120步，我们获得了函数 f(rm) = 3.679664256367167 * rm + -0.17780998093658415, 此时loss是: 58.25922278055401\n",
      "在第121步，我们获得了函数 f(rm) = 3.680968203924172 * rm + -0.1861045452251252, 此时loss是: 58.2521736206228\n",
      "在第122步，我们获得了函数 f(rm) = 3.682271837917956 * rm + -0.19439711490101658, 此时loss是: 58.24512785053893\n",
      "在第123步，我们获得了函数 f(rm) = 3.683575158423923 * rm + -0.20268769044390728, 此时loss是: 58.238085468672104\n",
      "在第124步，我们获得了函数 f(rm) = 3.6848781655174574 * rm + -0.21097627233333097, 此时loss是: 58.23104647339315\n",
      "在第125步，我们获得了函数 f(rm) = 3.686180859273927 * rm + -0.219262861048706, 此时loss是: 58.224010863073275\n",
      "在第126步，我们获得了函数 f(rm) = 3.68748323976868 * rm + -0.22754745706933543, 此时loss是: 58.21697863608494\n",
      "在第127步，我们获得了函数 f(rm) = 3.6887853070770475 * rm + -0.23583006087440708, 此时loss是: 58.209949790801\n",
      "在第128步，我们获得了函数 f(rm) = 3.690087061274342 * rm + -0.2441106729429936, 此时loss是: 58.202924325595255\n",
      "在第129步，我们获得了函数 f(rm) = 3.691388502435858 * rm + -0.2523892937540523, 此时loss是: 58.19590223884235\n",
      "在第130步，我们获得了函数 f(rm) = 3.6926896306368726 * rm + -0.2606659237864254, 此时loss是: 58.18888352891752\n",
      "在第131步，我们获得了函数 f(rm) = 3.693990445952643 * rm + -0.26894056351883994, 此时loss是: 58.181868194196966\n",
      "在第132步，我们获得了函数 f(rm) = 3.69529094845841 * rm + -0.27721321342990796, 此时loss是: 58.17485623305759\n",
      "在第133步，我们获得了函数 f(rm) = 3.6965911382293952 * rm + -0.28548387399812625, 此时loss是: 58.167847643877074\n",
      "在第134步，我们获得了函数 f(rm) = 3.6978910153408036 * rm + -0.2937525457018765, 此时loss是: 58.16084242503379\n",
      "在第135步，我们获得了函数 f(rm) = 3.699190579867821 * rm + -0.3020192290194254, 此时loss是: 58.15384057490719\n",
      "在第136步，我们获得了函数 f(rm) = 3.7004898318856143 * rm + -0.31028392442892494, 此时loss是: 58.146842091877204\n",
      "在第137步，我们获得了函数 f(rm) = 3.7017887714693347 * rm + -0.31854663240841163, 此时loss是: 58.13984697432448\n",
      "在第138步，我们获得了函数 f(rm) = 3.7030873986941124 * rm + -0.32680735343580747, 此时loss是: 58.13285522063086\n",
      "在第139步，我们获得了函数 f(rm) = 3.704385713635062 * rm + -0.3350660879889192, 此时loss是: 58.12586682917861\n",
      "在第140步，我们获得了函数 f(rm) = 3.7056837163672793 * rm + -0.3433228365454387, 此时loss是: 58.11888179835079\n",
      "在第141步，我们获得了函数 f(rm) = 3.7069814069658413 * rm + -0.35157759958294327, 此时loss是: 58.111900126531566\n",
      "在第142步，我们获得了函数 f(rm) = 3.7082787855058075 * rm + -0.3598303775788951, 此时loss是: 58.10492181210527\n",
      "在第143步，我们获得了函数 f(rm) = 3.7095758520622195 * rm + -0.3680811710106415, 此时loss是: 58.097946853457664\n",
      "在第144步，我们获得了函数 f(rm) = 3.710872606710101 * rm + -0.3763299803554152, 此时loss是: 58.09097524897488\n",
      "在第145步，我们获得了函数 f(rm) = 3.712169049524457 * rm + -0.3845768060903341, 此时loss是: 58.08400699704399\n",
      "在第146步，我们获得了函数 f(rm) = 3.713465180580274 * rm + -0.3928216486924014, 此时loss是: 58.07704209605279\n",
      "在第147步，我们获得了函数 f(rm) = 3.714760999952523 * rm + -0.40106450863850535, 此时loss是: 58.070080544389796\n",
      "在第148步，我们获得了函数 f(rm) = 3.7160565077161545 * rm + -0.4093053864054199, 此时loss是: 58.063122340444444\n",
      "在第149步，我们获得了函数 f(rm) = 3.7173517039461017 * rm + -0.4175442824698042, 此时loss是: 58.056167482606824\n",
      "在第150步，我们获得了函数 f(rm) = 3.718646588717279 * rm + -0.42578119730820263, 此时loss是: 58.04921596926785\n",
      "在第151步，我们获得了函数 f(rm) = 3.719941162104585 * rm + -0.4340161313970451, 此时loss是: 58.04226779881924\n",
      "在第152步，我们获得了函数 f(rm) = 3.7212354241828978 * rm + -0.44224908521264694, 此时loss是: 58.03532296965331\n",
      "在第153步，我们获得了函数 f(rm) = 3.722529375027079 * rm + -0.450480059231209, 此时loss是: 58.028381480163304\n",
      "在第154步，我们获得了函数 f(rm) = 3.7238230147119715 * rm + -0.4587090539288175, 此时loss是: 58.02144332874341\n",
      "在第155步，我们获得了函数 f(rm) = 3.725116343312402 * rm + -0.4669360697814442, 此时loss是: 58.01450851378816\n",
      "在第156步，我们获得了函数 f(rm) = 3.726409360903175 * rm + -0.4751611072649466, 此时loss是: 58.00757703369329\n",
      "在第157步，我们获得了函数 f(rm) = 3.7277020675590813 * rm + -0.4833841668550674, 此时loss是: 58.00064888685489\n",
      "在第158步，我们获得了函数 f(rm) = 3.7289944633548924 * rm + -0.49160524902743513, 此时loss是: 57.993724071670265\n",
      "在第159步，我们获得了函数 f(rm) = 3.7302865483653616 * rm + -0.49982435425756394, 此时loss是: 57.98680258653712\n",
      "在第160步，我们获得了函数 f(rm) = 3.7315783226652224 * rm + -0.5080414830208537, 此时loss是: 57.97988442985405\n",
      "在第161步，我们获得了函数 f(rm) = 3.7328697863291938 * rm + -0.5162566357925897, 此时loss是: 57.97296960002063\n",
      "在第162步，我们获得了函数 f(rm) = 3.7341609394319746 * rm + -0.5244698130479433, 此时loss是: 57.966058095436814\n",
      "在第163步，我们获得了函数 f(rm) = 3.7354517820482465 * rm + -0.5326810152619711, 此时loss是: 57.95914991450376\n",
      "在第164步，我们获得了函数 f(rm) = 3.7367423142526723 * rm + -0.540890242909616, 此时loss是: 57.95224505562294\n",
      "在第165步，我们获得了函数 f(rm) = 3.738032536119898 * rm + -0.5490974964657064, 此时loss是: 57.94534351719692\n",
      "在第166步，我们获得了函数 f(rm) = 3.73932244772455 * rm + -0.5573027764049566, 此时loss是: 57.938445297628995\n",
      "在第167步，我们获得了函数 f(rm) = 3.740612049141239 * rm + -0.5655060832019667, 此时loss是: 57.93155039532304\n",
      "在第168步，我们获得了函数 f(rm) = 3.741901340444557 * rm + -0.5737074173312225, 此时loss是: 57.92465880868402\n",
      "在第169步，我们获得了函数 f(rm) = 3.743190321709076 * rm + -0.5819067792670962, 此时loss是: 57.91777053611723\n",
      "在第170步，我们获得了函数 f(rm) = 3.7444789930093534 * rm + -0.5901041694838454, 此时loss是: 57.910885576029216\n",
      "在第171步，我们获得了函数 f(rm) = 3.7457673544199257 * rm + -0.5982995884556139, 此时loss是: 57.904003926826846\n",
      "在第172步，我们获得了函数 f(rm) = 3.7470554060153134 * rm + -0.6064930366564315, 此时loss是: 57.89712558691814\n",
      "在第173步，我们获得了函数 f(rm) = 3.748343147870018 * rm + -0.6146845145602139, 此时loss是: 57.89025055471149\n",
      "在第174步，我们获得了函数 f(rm) = 3.7496305800585246 * rm + -0.6228740226407627, 此时loss是: 57.8833788286165\n",
      "在第175步，我们获得了函数 f(rm) = 3.7509177026552982 * rm + -0.631061561371766, 此时loss是: 57.87651040704318\n",
      "在第176步，我们获得了函数 f(rm) = 3.752204515734788 * rm + -0.6392471312267977, 此时loss是: 57.86964528840248\n",
      "在第177步，我们获得了函数 f(rm) = 3.7534910193714235 * rm + -0.6474307326793178, 此时loss是: 57.86278347110597\n",
      "在第178步，我们获得了函数 f(rm) = 3.754777213639617 * rm + -0.6556123662026726, 此时loss是: 57.85592495356614\n",
      "在第179步，我们获得了函数 f(rm) = 3.7560630986137635 * rm + -0.6637920322700944, 此时loss是: 57.84906973419616\n",
      "在第180步，我们获得了函数 f(rm) = 3.7573486743682403 * rm + -0.6719697313547017, 此时loss是: 57.84221781141006\n",
      "在第181步，我们获得了函数 f(rm) = 3.7586339409774046 * rm + -0.6801454639294996, 此时loss是: 57.83536918362243\n",
      "在第182步，我们获得了函数 f(rm) = 3.7599188985155987 * rm + -0.6883192304673789, 此时loss是: 57.82852384924888\n",
      "在第183步，我们获得了函数 f(rm) = 3.761203547057145 * rm + -0.6964910314411169, 此时loss是: 57.821681806705634\n",
      "在第184步，我们获得了函数 f(rm) = 3.7624878866763485 * rm + -0.7046608673233775, 此时loss是: 57.81484305440947\n",
      "在第185步，我们获得了函数 f(rm) = 3.7637719174474964 * rm + -0.7128287385867106, 此时loss是: 57.80800759077852\n",
      "在第186步，我们获得了函数 f(rm) = 3.765055639444859 * rm + -0.7209946457035524, 此时loss是: 57.80117541423105\n",
      "在第187步，我们获得了函数 f(rm) = 3.766339052742686 * rm + -0.729158589146226, 此时loss是: 57.794346523186356\n",
      "在第188步，我们获得了函数 f(rm) = 3.767622157415213 * rm + -0.7373205693869401, 此时loss是: 57.787520916064594\n",
      "在第189步，我们获得了函数 f(rm) = 3.7689049535366546 * rm + -0.7454805868977907, 此时loss是: 57.78069859128654\n",
      "在第190步，我们获得了函数 f(rm) = 3.7701874411812097 * rm + -0.7536386421507598, 此时loss是: 57.7738795472737\n",
      "在第191步，我们获得了函数 f(rm) = 3.7714696204230576 * rm + -0.761794735617716, 此时loss是: 57.76706378244849\n",
      "在第192步，我们获得了函数 f(rm) = 3.7727514913363605 * rm + -0.7699488677704144, 此时loss是: 57.76025129523389\n",
      "在第193步，我们获得了函数 f(rm) = 3.7740330539952636 * rm + -0.7781010390804967, 此时loss是: 57.75344208405371\n",
      "在第194步，我们获得了函数 f(rm) = 3.7753143084738934 * rm + -0.7862512500194909, 此时loss是: 57.74663614733276\n",
      "在第195步，我们获得了函数 f(rm) = 3.7765952548463586 * rm + -0.7943995010588123, 此时loss是: 57.73983348349622\n",
      "在第196步，我们获得了函数 f(rm) = 3.77787589318675 * rm + -0.8025457926697622, 此时loss是: 57.73303409097014\n",
      "在第197步，我们获得了函数 f(rm) = 3.779156223569141 * rm + -0.8106901253235288, 此时loss是: 57.726237968181614\n",
      "在第198步，我们获得了函数 f(rm) = 3.7804362460675867 * rm + -0.818832499491187, 此时loss是: 57.71944511355817\n",
      "在第199步，我们获得了函数 f(rm) = 3.7817159607561246 * rm + -0.8269729156436982, 此时loss是: 57.71265552552815\n",
      "在第200步，我们获得了函数 f(rm) = 3.782995367708775 * rm + -0.8351113742519111, 此时loss是: 57.70586920252069\n",
      "在第201步，我们获得了函数 f(rm) = 3.7842744669995394 * rm + -0.8432478757865605, 此时loss是: 57.69908614296568\n",
      "在第202步，我们获得了函数 f(rm) = 3.785553258702402 * rm + -0.8513824207182684, 此时loss是: 57.692306345293844\n",
      "在第203步，我们获得了函数 f(rm) = 3.786831742891329 * rm + -0.8595150095175436, 此时loss是: 57.685529807936476\n",
      "在第204步，我们获得了函数 f(rm) = 3.788109919640269 * rm + -0.8676456426547816, 此时loss是: 57.67875652932588\n",
      "在第205步，我们获得了函数 f(rm) = 3.789387789023154 * rm + -0.8757743206002649, 此时loss是: 57.671986507894836\n",
      "在第206步，我们获得了函数 f(rm) = 3.7906653511138946 * rm + -0.883901043824163, 此时loss是: 57.665219742077035\n",
      "在第207步，我们获得了函数 f(rm) = 3.791942605986388 * rm + -0.892025812796532, 此时loss是: 57.65845623030697\n",
      "在第208步，我们获得了函数 f(rm) = 3.793219553714511 * rm + -0.9001486279873153, 此时loss是: 57.65169597101974\n",
      "在第209步，我们获得了函数 f(rm) = 3.7944961943721234 * rm + -0.9082694898663431, 此时loss是: 57.64493896265128\n",
      "在第210步，我们获得了函数 f(rm) = 3.795772528033067 * rm + -0.916388398903333, 此时loss是: 57.638185203638294\n",
      "在第211步，我们获得了函数 f(rm) = 3.7970485547711665 * rm + -0.924505355567889, 此时loss是: 57.63143469241822\n",
      "在第212步，我们获得了函数 f(rm) = 3.798324274660228 * rm + -0.9326203603295028, 此时loss是: 57.62468742742922\n",
      "在第213步，我们获得了函数 f(rm) = 3.7995996877740392 * rm + -0.9407334136575527, 此时loss是: 57.61794340711019\n",
      "在第214步，我们获得了函数 f(rm) = 3.800874794186373 * rm + -0.9488445160213044, 此时loss是: 57.61120262990072\n",
      "在第215步，我们获得了函数 f(rm) = 3.802149593970981 * rm + -0.9569536678899108, 此时loss是: 57.6044650942415\n",
      "在第216步，我们获得了函数 f(rm) = 3.803424087201599 * rm + -0.9650608697324117, 此时loss是: 57.59773079857355\n",
      "在第217步，我们获得了函数 f(rm) = 3.8046982739519453 * rm + -0.9731661220177343, 此时loss是: 57.59099974133877\n",
      "在第218步，我们获得了函数 f(rm) = 3.8059721542957194 * rm + -0.9812694252146933, 此时loss是: 57.58427192097998\n",
      "在第219步，我们获得了函数 f(rm) = 3.807245728306604 * rm + -0.9893707797919902, 此时loss是: 57.57754733594043\n",
      "在第220步，我们获得了函数 f(rm) = 3.8085189960582633 * rm + -0.9974701862182139, 此时loss是: 57.57082598466448\n",
      "在第221步，我们获得了函数 f(rm) = 3.809791957624344 * rm + -1.005567644961841, 此时loss是: 57.56410786559683\n",
      "在第222步，我们获得了函数 f(rm) = 3.811064613078475 * rm + -1.0136631564912348, 此时loss是: 57.55739297718338\n",
      "在第223步，我们获得了函数 f(rm) = 3.8123369624942693 * rm + -1.0217567212746466, 此时loss是: 57.55068131787052\n",
      "在第224步，我们获得了函数 f(rm) = 3.813609005945319 * rm + -1.0298483397802145, 此时loss是: 57.54397288610525\n",
      "在第225步，我们获得了函数 f(rm) = 3.814880743505201 * rm + -1.0379380124759645, 此时loss是: 57.5372676803357\n",
      "在第226步，我们获得了函数 f(rm) = 3.816152175247473 * rm + -1.0460257398298098, 此时loss是: 57.53056569901038\n",
      "在第227步，我们获得了函数 f(rm) = 3.8174233012456757 * rm + -1.0541115223095514, 此时loss是: 57.5238669405787\n",
      "在第228步，我们获得了函数 f(rm) = 3.818694121573333 * rm + -1.0621953603828773, 此时loss是: 57.517171403490906\n",
      "在第229步，我们获得了函数 f(rm) = 3.8199646363039492 * rm + -1.0702772545173636, 此时loss是: 57.51047908619787\n",
      "在第230步，我们获得了函数 f(rm) = 3.8212348455110123 * rm + -1.0783572051804735, 此时loss是: 57.50378998715117\n",
      "在第231步，我们获得了函数 f(rm) = 3.822504749267992 * rm + -1.086435212839558, 此时loss是: 57.49710410480318\n",
      "在第232步，我们获得了函数 f(rm) = 3.823774347648341 * rm + -1.0945112779618558, 此时loss是: 57.49042143760725\n",
      "在第233步，我们获得了函数 f(rm) = 3.825043640725494 * rm + -1.1025854010144926, 此时loss是: 57.48374198401695\n",
      "在第234步，我们获得了函数 f(rm) = 3.826312628572867 * rm + -1.1106575824644829, 此时loss是: 57.477065742487135\n",
      "在第235步，我们获得了函数 f(rm) = 3.82758131126386 * rm + -1.118727822778728, 此时loss是: 57.47039271147304\n",
      "在第236步，我们获得了函数 f(rm) = 3.828849688871854 * rm + -1.1267961224240175, 此时loss是: 57.463722889430734\n",
      "在第237步，我们获得了函数 f(rm) = 3.830117761470215 * rm + -1.1348624818670279, 此时loss是: 57.457056274817276\n",
      "在第238步，我们获得了函数 f(rm) = 3.8313855291322874 * rm + -1.1429269015743244, 此时loss是: 57.45039286609003\n",
      "在第239步，我们获得了函数 f(rm) = 3.8326529919313996 * rm + -1.1509893820123598, 此时loss是: 57.443732661707465\n",
      "在第240步，我们获得了函数 f(rm) = 3.8339201499408637 * rm + -1.1590499236474743, 此时loss是: 57.43707566012861\n",
      "在第241步，我们获得了函数 f(rm) = 3.8351870032339734 * rm + -1.1671085269458963, 此时loss是: 57.43042185981323\n",
      "在第242步，我们获得了函数 f(rm) = 3.836453551884004 * rm + -1.1751651923737418, 此时loss是: 57.42377125922199\n",
      "在第243步，我们获得了函数 f(rm) = 3.8377197959642144 * rm + -1.1832199203970153, 此时loss是: 57.41712385681608\n",
      "在第244步，我们获得了函数 f(rm) = 3.838985735547844 * rm + -1.1912727114816086, 此时loss是: 57.41047965105758\n",
      "在第245步，我们获得了函数 f(rm) = 3.8402513707081165 * rm + -1.199323566093302, 此时loss是: 57.403838640409305\n",
      "在第246步，我们获得了函数 f(rm) = 3.8415167015182368 * rm + -1.2073724846977631, 此时loss是: 57.39720082333468\n",
      "在第247步，我们获得了函数 f(rm) = 3.8427817280513934 * rm + -1.2154194677605483, 此时loss是: 57.3905661982981\n",
      "在第248步，我们获得了函数 f(rm) = 3.8440464503807563 * rm + -1.2234645157471016, 此时loss是: 57.38393476376434\n",
      "在第249步，我们获得了函数 f(rm) = 3.8453108685794777 * rm + -1.2315076291227551, 此时loss是: 57.377306518199305\n",
      "在第250步，我们获得了函数 f(rm) = 3.8465749827206928 * rm + -1.239548808352729, 此时loss是: 57.370681460069385\n",
      "在第251步，我们获得了函数 f(rm) = 3.847838792877519 * rm + -1.2475880539021318, 此时loss是: 57.364059587841844\n",
      "在第252步，我们获得了函数 f(rm) = 3.849102299123056 * rm + -1.25562536623596, 此时loss是: 57.357440899984525\n",
      "在第253步，我们获得了函数 f(rm) = 3.850365501530386 * rm + -1.2636607458190983, 此时loss是: 57.3508253949662\n",
      "在第254步，我们获得了函数 f(rm) = 3.851628400172574 * rm + -1.2716941931163197, 此时loss是: 57.3442130712563\n",
      "在第255步，我们获得了函数 f(rm) = 3.8528909951226664 * rm + -1.2797257085922853, 此时loss是: 57.33760392732486\n",
      "在第256步，我们获得了函数 f(rm) = 3.854153286453694 * rm + -1.2877552927115448, 此时loss是: 57.330997961642865\n",
      "在第257步，我们获得了函数 f(rm) = 3.855415274238667 * rm + -1.2957829459385355, 此时loss是: 57.32439517268196\n",
      "在第258步，我们获得了函数 f(rm) = 3.8566769585505813 * rm + -1.3038086687375836, 此时loss是: 57.31779555891435\n",
      "在第259步，我们获得了函数 f(rm) = 3.8579383394624136 * rm + -1.3118324615729036, 此时loss是: 57.31119911881328\n",
      "在第260步，我们获得了函数 f(rm) = 3.8591994170471224 * rm + -1.319854324908598, 此时loss是: 57.304605850852546\n",
      "在第261步，我们获得了函数 f(rm) = 3.8604601913776495 * rm + -1.3278742592086583, 此时loss是: 57.29801575350669\n",
      "在第262步，我们获得了函数 f(rm) = 3.8617206625269205 * rm + -1.3358922649369638, 此时loss是: 57.291428825250925\n",
      "在第263步，我们获得了函数 f(rm) = 3.8629808305678397 * rm + -1.3439083425572826, 此时loss是: 57.284845064561395\n",
      "在第264步，我们获得了函数 f(rm) = 3.8642406955732986 * rm + -1.3519224925332711, 此时loss是: 57.27826446991482\n",
      "在第265步，我们获得了函数 f(rm) = 3.865500257616168 * rm + -1.3599347153284744, 此时loss是: 57.271687039788674\n",
      "在第266步，我们获得了函数 f(rm) = 3.866759516769301 * rm + -1.367945011406326, 此时loss是: 57.26511277266119\n",
      "在第267步，我们获得了函数 f(rm) = 3.868018473105536 * rm + -1.375953381230148, 此时loss是: 57.2585416670114\n",
      "在第268步，我们获得了函数 f(rm) = 3.8692771266976904 * rm + -1.383959825263151, 此时loss是: 57.25197372131893\n",
      "在第269步，我们获得了函数 f(rm) = 3.8705354776185668 * rm + -1.3919643439684344, 此时loss是: 57.24540893406411\n",
      "在第270步，我们获得了函数 f(rm) = 3.871793525940949 * rm + -1.3999669378089858, 此时loss是: 57.23884730372823\n",
      "在第271步，我们获得了函数 f(rm) = 3.873051271737603 * rm + -1.407967607247682, 此时loss是: 57.232288828793074\n",
      "在第272步，我们获得了函数 f(rm) = 3.8743087150812783 * rm + -1.4159663527472885, 此时loss是: 57.22573350774129\n",
      "在第273步，我们获得了函数 f(rm) = 3.875565856044707 * rm + -1.423963174770459, 此时loss是: 57.219181339056256\n",
      "在第274步，我们获得了函数 f(rm) = 3.876822694700602 * rm + -1.4319580737797364, 此时loss是: 57.21263232122192\n",
      "在第275步，我们获得了函数 f(rm) = 3.8780792311216605 * rm + -1.439951050237552, 此时loss是: 57.206086452723206\n",
      "在第276步，我们获得了函数 f(rm) = 3.8793354653805623 * rm + -1.4479421046062262, 此时loss是: 57.19954373204562\n",
      "在第277步，我们获得了函数 f(rm) = 3.880591397549968 * rm + -1.4559312373479683, 此时loss是: 57.19300415767536\n",
      "在第278步，我们获得了函数 f(rm) = 3.8818470277025217 * rm + -1.463918448924876, 此时loss是: 57.1864677280994\n",
      "在第279步，我们获得了函数 f(rm) = 3.8831023559108506 * rm + -1.4719037397989363, 此时loss是: 57.17993444180557\n",
      "在第280步，我们获得了函数 f(rm) = 3.8843573822475634 * rm + -1.4798871104320248, 此时loss是: 57.17340429728216\n",
      "在第281步，我们获得了函数 f(rm) = 3.885612106785253 * rm + -1.4878685612859064, 此时loss是: 57.16687729301849\n",
      "在第282步，我们获得了函数 f(rm) = 3.8868665295964924 * rm + -1.4958480928222346, 此时loss是: 57.16035342750429\n",
      "在第283步，我们获得了函数 f(rm) = 3.8881206507538395 * rm + -1.5038257055025521, 此时loss是: 57.15383269923028\n",
      "在第284步，我们获得了函数 f(rm) = 3.889374470329832 * rm + -1.5118013997882906, 此时loss是: 57.14731510668777\n",
      "在第285步，我们获得了函数 f(rm) = 3.8906279883969934 * rm + -1.519775176140771, 此时loss是: 57.1408006483688\n",
      "在第286步，我们获得了函数 f(rm) = 3.891881205027828 * rm + -1.5277470350212026, 此时loss是: 57.134289322766264\n",
      "在第287步，我们获得了函数 f(rm) = 3.893134120294823 * rm + -1.5357169768906844, 此时loss是: 57.127781128373485\n",
      "在第288步，我们获得了函数 f(rm) = 3.8943867342704466 * rm + -1.5436850022102044, 此时loss是: 57.121276063684874\n",
      "在第289步，我们获得了函数 f(rm) = 3.895639047027153 * rm + -1.5516511114406397, 此时loss是: 57.11477412719541\n",
      "在第290步，我们获得了函数 f(rm) = 3.896891058637376 * rm + -1.5596153050427566, 此时loss是: 57.10827531740078\n",
      "在第291步，我们获得了函数 f(rm) = 3.8981427691735333 * rm + -1.5675775834772105, 此时loss是: 57.10177963279728\n",
      "在第292步，我们获得了函数 f(rm) = 3.899394178708024 * rm + -1.5755379472045463, 此时loss是: 57.09528707188209\n",
      "在第293步，我们获得了函数 f(rm) = 3.9006452873132313 * rm + -1.5834963966851978, 此时loss是: 57.08879763315307\n",
      "在第294步，我们获得了函数 f(rm) = 3.901896095061521 * rm + -1.5914529323794881, 此时loss是: 57.08231131510892\n",
      "在第295步，我们获得了函数 f(rm) = 3.90314660202524 * rm + -1.59940755474763, 此时loss是: 57.07582811624877\n",
      "在第296步，我们获得了函数 f(rm) = 3.904396808276718 * rm + -1.6073602642497256, 此时loss是: 57.069348035072835\n",
      "在第297步，我们获得了函数 f(rm) = 3.90564671388827 * rm + -1.6153110613457655, 此时loss是: 57.06287107008159\n",
      "在第298步，我们获得了函数 f(rm) = 3.9068963189321892 * rm + -1.6232599464956308, 此时loss是: 57.05639721977684\n",
      "在第299步，我们获得了函数 f(rm) = 3.908145623480756 * rm + -1.631206920159091, 此时loss是: 57.049926482660496\n",
      "在第300步，我们获得了函数 f(rm) = 3.90939462760623 * rm + -1.639151982795806, 此时loss是: 57.04345885723562\n",
      "在第301步，我们获得了函数 f(rm) = 3.910643331380854 * rm + -1.6470951348653249, 此时loss是: 57.03699434200574\n",
      "在第302步，我们获得了函数 f(rm) = 3.9118917348768556 * rm + -1.6550363768270857, 此时loss是: 57.03053293547532\n",
      "在第303步，我们获得了函数 f(rm) = 3.913139838166442 * rm + -1.6629757091404165, 此时loss是: 57.024074636149265\n",
      "在第304步，我们获得了函数 f(rm) = 3.9143876413218055 * rm + -1.6709131322645348, 此时loss是: 57.01761944253352\n",
      "在第305步，我们获得了函数 f(rm) = 3.91563514441512 * rm + -1.6788486466585475, 此时loss是: 57.0111673531345\n",
      "在第306步，我们获得了函数 f(rm) = 3.9168823475185417 * rm + -1.6867822527814513, 此时loss是: 57.00471836645965\n",
      "在第307步，我们获得了函数 f(rm) = 3.91812925070421 * rm + -1.6947139510921325, 此时loss是: 56.99827248101642\n",
      "在第308步，我们获得了函数 f(rm) = 3.919375854044247 * rm + -1.7026437420493672, 此时loss是: 56.991829695313946\n",
      "在第309步，我们获得了函数 f(rm) = 3.9206221576107563 * rm + -1.710571626111821, 此时loss是: 56.985390007861426\n",
      "在第310步，我们获得了函数 f(rm) = 3.9218681614758264 * rm + -1.7184976037380486, 此时loss是: 56.978953417168896\n",
      "在第311步，我们获得了函数 f(rm) = 3.9231138657115263 * rm + -1.7264216753864958, 此时loss是: 56.97251992174732\n",
      "在第312步，我们获得了函数 f(rm) = 3.92435927038991 * rm + -1.734343841515497, 此时loss是: 56.966089520108085\n",
      "在第313步，我们获得了函数 f(rm) = 3.925604375583011 * rm + -1.742264102583277, 此时loss是: 56.959662210763426\n",
      "在第314步，我们获得了函数 f(rm) = 3.9268491813628477 * rm + -1.75018245904795, 此时loss是: 56.95323799222641\n",
      "在第315步，我们获得了函数 f(rm) = 3.9280936878014208 * rm + -1.7580989113675203, 此时loss是: 56.946816863010554\n",
      "在第316步，我们获得了函数 f(rm) = 3.9293378949707134 * rm + -1.7660134599998818, 此时loss是: 56.9403988216304\n",
      "在第317步，我们获得了函数 f(rm) = 3.930581802942692 * rm + -1.7739261054028186, 此时loss是: 56.933983866601025\n",
      "在第318步，我们获得了函数 f(rm) = 3.931825411789305 * rm + -1.7818368480340048, 此时loss是: 56.92757199643819\n",
      "在第319步，我们获得了函数 f(rm) = 3.933068721582483 * rm + -1.789745688351004, 此时loss是: 56.92116320965844\n",
      "在第320步，我们获得了函数 f(rm) = 3.9343117323941414 * rm + -1.7976526268112698, 此时loss是: 56.91475750477895\n",
      "在第321步，我们获得了函数 f(rm) = 3.9355544442961765 * rm + -1.8055576638721464, 此时loss是: 56.908354880317766\n",
      "在第322步，我们获得了函数 f(rm) = 3.9367968573604672 * rm + -1.8134607999908674, 此时loss是: 56.901955334793556\n",
      "在第323步，我们获得了函数 f(rm) = 3.9380389716588757 * rm + -1.8213620356245568, 此时loss是: 56.89555886672573\n",
      "在第324步，我们获得了函数 f(rm) = 3.9392807872632476 * rm + -1.8292613712302284, 此时loss是: 56.88916547463426\n",
      "在第325步，我们获得了函数 f(rm) = 3.94052230424541 * rm + -1.8371588072647862, 此时loss是: 56.88277515703998\n",
      "在第326步，我们获得了函数 f(rm) = 3.941763522677174 * rm + -1.8450543441850245, 此时loss是: 56.87638791246453\n",
      "在第327步，我们获得了函数 f(rm) = 3.9430044426303317 * rm + -1.8529479824476276, 此时loss是: 56.87000373943005\n",
      "在第328步，我们获得了函数 f(rm) = 3.9442450641766595 * rm + -1.86083972250917, 此时loss是: 56.863622636459375\n",
      "在第329步，我们获得了函数 f(rm) = 3.9454853873879157 * rm + -1.8687295648261162, 此时loss是: 56.857244602076335\n",
      "在第330步，我们获得了函数 f(rm) = 3.946725412335842 * rm + -1.8766175098548215, 此时loss是: 56.85086963480518\n",
      "在第331步，我们获得了函数 f(rm) = 3.9479651390921617 * rm + -1.8845035580515308, 此时loss是: 56.84449773317102\n",
      "在第332步，我们获得了函数 f(rm) = 3.9492045677285827 * rm + -1.8923877098723796, 此时loss是: 56.83812889569952\n",
      "在第333步，我们获得了函数 f(rm) = 3.950443698316794 * rm + -1.900269965773394, 此时loss是: 56.831763120917316\n",
      "在第334步，我们获得了函数 f(rm) = 3.9516825309284678 * rm + -1.9081503262104897, 此时loss是: 56.82540040735158\n",
      "在第335步，我们获得了函数 f(rm) = 3.9529210656352585 * rm + -1.9160287916394736, 此时loss是: 56.819040753530196\n",
      "在第336步，我们获得了函数 f(rm) = 3.9541593025088053 * rm + -1.9239053625160423, 此时loss是: 56.81268415798171\n",
      "在第337步，我们获得了函数 f(rm) = 3.955397241620729 * rm + -1.9317800392957833, 此时loss是: 56.80633061923538\n",
      "在第338步，我们获得了函数 f(rm) = 3.9566348830426317 * rm + -1.9396528224341743, 此时loss是: 56.79998013582147\n",
      "在第339步，我们获得了函数 f(rm) = 3.9578722268460997 * rm + -1.9475237123865834, 此时loss是: 56.793632706270515\n",
      "在第340步，我们获得了函数 f(rm) = 3.9591092731027033 * rm + -1.9553927096082695, 此时loss是: 56.78728832911408\n",
      "在第341步，我们获得了函数 f(rm) = 3.9603460218839928 * rm + -1.9632598145543818, 此时loss是: 56.780947002884155\n",
      "在第342步，我们获得了函数 f(rm) = 3.961582473261504 * rm + -1.97112502767996, 此时loss是: 56.7746087261137\n",
      "在第343步，我们获得了函数 f(rm) = 3.9628186273067536 * rm + -1.9789883494399343, 此时loss是: 56.76827349733627\n",
      "在第344步，我们获得了函数 f(rm) = 3.9640544840912413 * rm + -1.986849780289126, 此时loss是: 56.76194131508606\n",
      "在第345步，我们获得了函数 f(rm) = 3.9652900436864513 * rm + -1.9947093206822466, 此时loss是: 56.755612177898065\n",
      "在第346步，我们获得了函数 f(rm) = 3.9665253061638484 * rm + -2.0025669710738985, 此时loss是: 56.74928608430805\n",
      "在第347步，我们获得了函数 f(rm) = 3.9677602715948814 * rm + -2.0104227319185743, 此时loss是: 56.74296303285229\n",
      "在第348步，我们获得了函数 f(rm) = 3.9689949400509814 * rm + -2.018276603670658, 此时loss是: 56.73664302206785\n",
      "在第349步，我们获得了函数 f(rm) = 3.970229311603563 * rm + -2.0261285867844236, 此时loss是: 56.73032605049253\n",
      "在第350步，我们获得了函数 f(rm) = 3.971463386324024 * rm + -2.0339786817140366, 此时loss是: 56.72401211666486\n",
      "在第351步，我们获得了函数 f(rm) = 3.972697164283743 * rm + -2.0418268889135525, 此时loss是: 56.717701219123974\n",
      "在第352步，我们获得了函数 f(rm) = 3.9739306455540837 * rm + -2.0496732088369183, 此时loss是: 56.711393356409715\n",
      "在第353步，我们获得了函数 f(rm) = 3.975163830206391 * rm + -2.0575176419379715, 此时loss是: 56.705088527062834\n",
      "在第354步，我们获得了函数 f(rm) = 3.9763967183119937 * rm + -2.0653601886704407, 此时loss是: 56.69878672962447\n",
      "在第355步，我们获得了函数 f(rm) = 3.9776293099422033 * rm + -2.073200849487945, 此时loss是: 56.692487962636754\n",
      "在第356步，我们获得了函数 f(rm) = 3.9788616051683126 * rm + -2.0810396248439944, 此时loss是: 56.68619222464227\n",
      "在第357步，我们获得了函数 f(rm) = 3.980093604061601 * rm + -2.0888765151919904, 此时loss是: 56.67989951418448\n",
      "在第358步，我们获得了函数 f(rm) = 3.9813253066933254 * rm + -2.096711520985225, 此时loss是: 56.67360982980744\n",
      "在第359步，我们获得了函数 f(rm) = 3.98255671313473 * rm + -2.104544642676882, 此时loss是: 56.667323170055944\n",
      "在第360步，我们获得了函数 f(rm) = 3.9837878234570407 * rm + -2.1123758807200352, 此时loss是: 56.661039533475524\n",
      "在第361步，我们获得了函数 f(rm) = 3.9850186377314656 * rm + -2.1202052355676493, 此时loss是: 56.65475891861234\n",
      "在第362步，我们获得了函数 f(rm) = 3.9862491560291957 * rm + -2.128032707672581, 此时loss是: 56.648481324013346\n",
      "在第363步，我们获得了函数 f(rm) = 3.9874793784214053 * rm + -2.135858297487578, 此时loss是: 56.64220674822613\n",
      "在第364步，我们获得了函数 f(rm) = 3.9887093049792517 * rm + -2.143682005465278, 此时loss是: 56.635935189798936\n",
      "在第365步，我们获得了函数 f(rm) = 3.989938935773875 * rm + -2.1515038320582116, 此时loss是: 56.62966664728077\n",
      "在第366步，我们获得了函数 f(rm) = 3.9911682708763974 * rm + -2.1593237777187992, 此时loss是: 56.62340111922132\n",
      "在第367步，我们获得了函数 f(rm) = 3.992397310357925 * rm + -2.1671418428993525, 此时loss是: 56.61713860417103\n",
      "在第368步，我们获得了函数 f(rm) = 3.993626054289547 * rm + -2.1749580280520755, 此时loss是: 56.61087910068087\n",
      "在第369步，我们获得了函数 f(rm) = 3.9948545027423337 * rm + -2.1827723336290625, 此时loss是: 56.60462260730273\n",
      "在第370步，我们获得了函数 f(rm) = 3.996082655787341 * rm + -2.190584760082299, 此时loss是: 56.59836912258907\n",
      "在第371步，我们获得了函数 f(rm) = 3.997310513495605 * rm + -2.1983953078636627, 此时loss是: 56.59211864509297\n",
      "在第372步，我们获得了函数 f(rm) = 3.998538075938147 * rm + -2.2062039774249214, 此时loss是: 56.58587117336846\n",
      "在第373步，我们获得了函数 f(rm) = 3.999765343185969 * rm + -2.2140107692177353, 此时loss是: 56.579626705969915\n",
      "在第374步，我们获得了函数 f(rm) = 4.000992315310058 * rm + -2.221815683693656, 此时loss是: 56.57338524145276\n",
      "在第375步，我们获得了函数 f(rm) = 4.002218992381384 * rm + -2.229618721304125, 此时loss是: 56.56714677837284\n",
      "在第376步，我们获得了函数 f(rm) = 4.003445374470897 * rm + -2.237419882500478, 此时loss是: 56.560911315286845\n",
      "在第377步，我们获得了函数 f(rm) = 4.004671461649534 * rm + -2.2452191677339393, 此时loss是: 56.554678850752154\n",
      "在第378步，我们获得了函数 f(rm) = 4.005897253988211 * rm + -2.2530165774556266, 此时loss是: 56.548449383326755\n",
      "在第379步，我们获得了函数 f(rm) = 4.00712275155783 * rm + -2.260812112116548, 此时loss是: 56.54222291156934\n",
      "在第380步，我们获得了函数 f(rm) = 4.008347954429274 * rm + -2.268605772167604, 此时loss是: 56.535999434039475\n",
      "在第381步，我们获得了函数 f(rm) = 4.00957286267341 * rm + -2.276397558059586, 此时loss是: 56.52977894929709\n",
      "在第382步，我们获得了函数 f(rm) = 4.010797476361089 * rm + -2.284187470243177, 此时loss是: 56.52356145590317\n",
      "在第383步，我们获得了函数 f(rm) = 4.012021795563142 * rm + -2.2919755091689527, 此时loss是: 56.517346952419054\n",
      "在第384步，我们获得了函数 f(rm) = 4.013245820350385 * rm + -2.299761675287379, 此时loss是: 56.511135437407134\n",
      "在第385步，我们获得了函数 f(rm) = 4.014469550793617 * rm + -2.3075459690488147, 此时loss是: 56.50492690942998\n",
      "在第386步，我们获得了函数 f(rm) = 4.015692986963619 * rm + -2.315328390903509, 此时loss是: 56.49872136705151\n",
      "在第387步，我们获得了函数 f(rm) = 4.016916128931157 * rm + -2.323108941301604, 此时loss是: 56.49251880883579\n",
      "在第388步，我们获得了函数 f(rm) = 4.018138976766976 * rm + -2.3308876206931335, 此时loss是: 56.486319233347835\n",
      "在第389步，我们获得了函数 f(rm) = 4.019361530541808 * rm + -2.338664429528022, 此时loss是: 56.48012263915323\n",
      "在第390步，我们获得了函数 f(rm) = 4.020583790326367 * rm + -2.3464393682560867, 此时loss是: 56.47392902481845\n",
      "在第391步，我们获得了函数 f(rm) = 4.021805756191349 * rm + -2.3542124373270363, 此时loss是: 56.46773838891031\n",
      "在第392步，我们获得了函数 f(rm) = 4.023027428207433 * rm + -2.361983637190472, 此时loss是: 56.461550729996745\n",
      "在第393步，我们获得了函数 f(rm) = 4.024248806445282 * rm + -2.3697529682958853, 此时loss是: 56.45536604664605\n",
      "在第394步，我们获得了函数 f(rm) = 4.0254698909755415 * rm + -2.3775204310926616, 此时loss是: 56.44918433742728\n",
      "在第395步，我们获得了函数 f(rm) = 4.026690681868841 * rm + -2.385286026030077, 此时loss是: 56.443005600910254\n",
      "在第396步，我们获得了函数 f(rm) = 4.02791117919579 * rm + -2.3930497535573, 此时loss是: 56.436829835665435\n",
      "在第397步，我们获得了函数 f(rm) = 4.029131383026985 * rm + -2.400811614123391, 此时loss是: 56.43065704026408\n",
      "在第398步，我们获得了函数 f(rm) = 4.030351293433002 * rm + -2.408571608177302, 此时loss是: 56.42448721327785\n",
      "在第399步，我们获得了函数 f(rm) = 4.031570910484402 * rm + -2.416329736167878, 此时loss是: 56.41832035327938\n",
      "在第400步，我们获得了函数 f(rm) = 4.0327902342517294 * rm + -2.424085998543855, 此时loss是: 56.412156458841864\n",
      "在第401步，我们获得了函数 f(rm) = 4.03400926480551 * rm + -2.4318403957538615, 此时loss是: 56.4059955285392\n",
      "在第402步，我们获得了函数 f(rm) = 4.035228002216255 * rm + -2.439592928246418, 此时loss是: 56.39983756094594\n",
      "在第403步，我们获得了函数 f(rm) = 4.036446446554455 * rm + -2.4473435964699384, 此时loss是: 56.393682554637515\n",
      "在第404步，我们获得了函数 f(rm) = 4.037664597890588 * rm + -2.4550924008727266, 此时loss是: 56.387530508189656\n",
      "在第405步，我们获得了函数 f(rm) = 4.038882456295111 * rm + -2.4628393419029804, 此时loss是: 56.38138142017919\n",
      "在第406步，我们获得了函数 f(rm) = 4.040100021838468 * rm + -2.4705844200087888, 此时loss是: 56.37523528918331\n",
      "在第407步，我们获得了函数 f(rm) = 4.041317294591082 * rm + -2.478327635638134, 此时loss是: 56.36909211378007\n",
      "在第408步，我们获得了函数 f(rm) = 4.042534274623361 * rm + -2.486068989238889, 此时loss是: 56.36295189254823\n",
      "在第409步，我们获得了函数 f(rm) = 4.0437509620056975 * rm + -2.493808481258821, 此时loss是: 56.35681462406706\n",
      "在第410步，我们获得了函数 f(rm) = 4.044967356808466 * rm + -2.5015461121455878, 此时loss是: 56.35068030691669\n",
      "在第411步，我们获得了函数 f(rm) = 4.046183459102021 * rm + -2.509281882346741, 此时loss是: 56.344548939677956\n",
      "在第412步，我们获得了函数 f(rm) = 4.047399268956707 * rm + -2.5170157923097234, 此时loss是: 56.33842052093211\n",
      "在第413步，我们获得了函数 f(rm) = 4.048614786442844 * rm + -2.524747842481871, 此时loss是: 56.332295049261305\n",
      "在第414步，我们获得了函数 f(rm) = 4.04983001163074 * rm + -2.5324780333104115, 此时loss是: 56.32617252324839\n",
      "在第415步，我们获得了函数 f(rm) = 4.051044944590684 * rm + -2.540206365242466, 此时loss是: 56.32005294147674\n",
      "在第416步，我们获得了函数 f(rm) = 4.052259585392949 * rm + -2.547932838725047, 此时loss是: 56.313936302530635\n",
      "在第417步，我们获得了函数 f(rm) = 4.053473934107791 * rm + -2.5556574542050603, 此时loss是: 56.307822604994826\n",
      "在第418步，我们获得了函数 f(rm) = 4.05468799080545 * rm + -2.563380212129304, 此时loss是: 56.30171184745488\n",
      "在第419步，我们获得了函数 f(rm) = 4.055901755556144 * rm + -2.571101112944469, 此时loss是: 56.29560402849701\n",
      "在第420步，我们获得了函数 f(rm) = 4.057115228430083 * rm + -2.578820157097138, 此时loss是: 56.2894991467079\n",
      "在第421步，我们获得了函数 f(rm) = 4.058328409497453 * rm + -2.586537345033787, 此时loss是: 56.283397200675395\n",
      "在第422步，我们获得了函数 f(rm) = 4.059541298828425 * rm + -2.594252677200785, 此时loss是: 56.277298188987544\n",
      "在第423步，我们获得了函数 f(rm) = 4.060753896493155 * rm + -2.6019661540443924, 此时loss是: 56.27120211023322\n",
      "在第424步，我们获得了函数 f(rm) = 4.06196620256178 * rm + -2.6096777760107632, 此时loss是: 56.26510896300216\n",
      "在第425步，我们获得了函数 f(rm) = 4.0631782171044195 * rm + -2.617387543545944, 此时loss是: 56.25901874588461\n",
      "在第426步，我们获得了函数 f(rm) = 4.064389940191179 * rm + -2.6250954570958744, 此时loss是: 56.252931457471334\n",
      "在第427步，我们获得了函数 f(rm) = 4.065601371892145 * rm + -2.632801517106386, 此时loss是: 56.2468470963542\n",
      "在第428步，我们获得了函数 f(rm) = 4.066812512277388 * rm + -2.6405057240232037, 此时loss是: 56.240765661125415\n",
      "在第429步，我们获得了函数 f(rm) = 4.0680233614169605 * rm + -2.6482080782919453, 此时loss是: 56.23468715037793\n",
      "在第430步，我们获得了函数 f(rm) = 4.0692339193809 * rm + -2.655908580358121, 此时loss是: 56.22861156270536\n",
      "在第431步，我们获得了函数 f(rm) = 4.070444186239225 * rm + -2.663607230667134, 此时loss是: 56.22253889670217\n",
      "在第432步，我们获得了函数 f(rm) = 4.07165416206194 * rm + -2.6713040296642814, 此时loss是: 56.21646915096326\n",
      "在第433步，我们获得了函数 f(rm) = 4.07286384691903 * rm + -2.6789989777947514, 此时loss是: 56.210402324084455\n",
      "在第434步，我们获得了函数 f(rm) = 4.074073240880464 * rm + -2.6866920755036268, 此时loss是: 56.20433841466184\n",
      "在第435步，我们获得了函数 f(rm) = 4.075282344016194 * rm + -2.6943833232358823, 此时loss是: 56.19827742129273\n",
      "在第436步，我们获得了函数 f(rm) = 4.076491156396157 * rm + -2.702072721436386, 此时loss是: 56.192219342574646\n",
      "在第437步，我们获得了函数 f(rm) = 4.07769967809027 * rm + -2.709760270549899, 此时loss是: 56.1861641771061\n",
      "在第438步，我们获得了函数 f(rm) = 4.078907909168436 * rm + -2.7174459710210757, 此时loss是: 56.180111923486066\n",
      "在第439步，我们获得了函数 f(rm) = 4.080115849700539 * rm + -2.7251298232944627, 此时loss是: 56.17406258031433\n",
      "在第440步，我们获得了函数 f(rm) = 4.081323499756449 * rm + -2.732811827814501, 此时loss是: 56.16801614619128\n",
      "在第441步，我们获得了函数 f(rm) = 4.082530859406017 * rm + -2.740491985025523, 此时loss是: 56.16197261971793\n",
      "在第442步，我们获得了函数 f(rm) = 4.083737928719076 * rm + -2.7481702953717564, 此时loss是: 56.15593199949614\n",
      "在第443步，我们获得了函数 f(rm) = 4.0849447077654455 * rm + -2.7558467592973206, 此时loss是: 56.14989428412821\n",
      "在第444步，我们获得了函数 f(rm) = 4.086151196614925 * rm + -2.7635213772462284, 此时loss是: 56.143859472217365\n",
      "在第445步，我们获得了函数 f(rm) = 4.0873573953373015 * rm + -2.771194149662386, 此时loss是: 56.1378275623673\n",
      "在第446步，我们获得了函数 f(rm) = 4.08856330400234 * rm + -2.778865076989593, 此时loss是: 56.131798553182406\n",
      "在第447步，我们获得了函数 f(rm) = 4.089768922679792 * rm + -2.786534159671542, 此时loss是: 56.12577244326794\n",
      "在第448步，我们获得了函数 f(rm) = 4.090974251439393 * rm + -2.794201398151819, 此时loss是: 56.119749231229484\n",
      "在第449步，我们获得了函数 f(rm) = 4.092179290350858 * rm + -2.801866792873903, 此时loss是: 56.11372891567362\n",
      "在第450步，我们获得了函数 f(rm) = 4.093384039483888 * rm + -2.8095303442811677, 此时loss是: 56.107711495207475\n",
      "在第451步，我们获得了函数 f(rm) = 4.094588498908167 * rm + -2.8171920528168783, 此时loss是: 56.10169696843877\n",
      "在第452步，我们获得了函数 f(rm) = 4.095792668693362 * rm + -2.8248519189241947, 此时loss是: 56.09568533397604\n",
      "在第453步，我们获得了函数 f(rm) = 4.096996548909123 * rm + -2.8325099430461695, 此时loss是: 56.08967659042828\n",
      "在第454步，我们获得了函数 f(rm) = 4.098200139625083 * rm + -2.8401661256257493, 此时loss是: 56.08367073640544\n",
      "在第455步，我们获得了函数 f(rm) = 4.09940344091086 * rm + -2.847820467105774, 此时loss是: 56.077667770517934\n",
      "在第456步，我们获得了函数 f(rm) = 4.100606452836053 * rm + -2.855472967928977, 此时loss是: 56.07166769137684\n",
      "在第457步，我们获得了函数 f(rm) = 4.101809175470245 * rm + -2.8631236285379855, 此时loss是: 56.065670497594084\n",
      "在第458步，我们获得了函数 f(rm) = 4.103011608883002 * rm + -2.8707724493753193, 此时loss是: 56.059676187782\n",
      "在第459步，我们获得了函数 f(rm) = 4.104213753143876 * rm + -2.8784194308833926, 此时loss是: 56.053684760553736\n",
      "在第460步，我们获得了函数 f(rm) = 4.105415608322398 * rm + -2.8860645735045134, 此时loss是: 56.04769621452321\n",
      "在第461步，我们获得了函数 f(rm) = 4.1066171744880835 * rm + -2.893707877680883, 此时loss是: 56.04171054830478\n",
      "在第462步，我们获得了函数 f(rm) = 4.107818451710434 * rm + -2.901349343854596, 此时loss是: 56.035727760513666\n",
      "在第463步，我们获得了函数 f(rm) = 4.109019440058932 * rm + -2.9089889724676414, 此时loss是: 56.0297478497656\n",
      "在第464步，我们获得了函数 f(rm) = 4.110220139603044 * rm + -2.9166267639619017, 此时loss是: 56.02377081467713\n",
      "在第465步，我们获得了函数 f(rm) = 4.111420550412218 * rm + -2.924262718779153, 此时loss是: 56.017796653865275\n",
      "在第466步，我们获得了函数 f(rm) = 4.112620672555887 * rm + -2.931896837361064, 此时loss是: 56.01182536594793\n",
      "在第467步，我们获得了函数 f(rm) = 4.113820506103468 * rm + -2.9395291201491998, 此时loss是: 56.00585694954353\n",
      "在第468步，我们获得了函数 f(rm) = 4.11502005112436 * rm + -2.9471595675850173, 此时loss是: 55.999891403271185\n",
      "在第469步，我们获得了函数 f(rm) = 4.116219307687946 * rm + -2.954788180109868, 此时loss是: 55.99392872575071\n",
      "在第470步，我们获得了函数 f(rm) = 4.117418275863591 * rm + -2.9624149581649974, 此时loss是: 55.987968915602636\n",
      "在第471步，我们获得了函数 f(rm) = 4.118616955720645 * rm + -2.970039902191544, 此时loss是: 55.98201197144787\n",
      "在第472步，我们获得了函数 f(rm) = 4.119815347328441 * rm + -2.977663012630541, 此时loss是: 55.97605789190834\n",
      "在第473步，我们获得了函数 f(rm) = 4.121013450756293 * rm + -2.985284289922915, 此时loss是: 55.970106675606516\n",
      "在第474步，我们获得了函数 f(rm) = 4.122211266073503 * rm + -2.9929037345094875, 此时loss是: 55.964158321165485\n",
      "在第475步，我们获得了函数 f(rm) = 4.123408793349352 * rm + -3.0005213468309733, 此时loss是: 55.95821282720892\n",
      "在第476步，我们获得了函数 f(rm) = 4.124606032653106 * rm + -3.008137127327981, 此时loss是: 55.952270192361325\n",
      "在第477步，我们获得了函数 f(rm) = 4.125802984054015 * rm + -3.0157510764410143, 此时loss是: 55.94633041524789\n",
      "在第478步，我们获得了函数 f(rm) = 4.126999647621312 * rm + -3.0233631946104693, 此时loss是: 55.940393494494195\n",
      "在第479步，我们获得了函数 f(rm) = 4.128196023424211 * rm + -3.030973482276638, 此时loss是: 55.93445942872678\n",
      "在第480步，我们获得了函数 f(rm) = 4.129392111531913 * rm + -3.0385819398797054, 此时loss是: 55.928528216572616\n",
      "在第481步，我们获得了函数 f(rm) = 4.1305879120136 * rm + -3.0461885678597502, 此时loss是: 55.9225998566595\n",
      "在第482步，我们获得了函数 f(rm) = 4.131783424938439 * rm + -3.053793366656747, 此时loss是: 55.9166743476158\n",
      "在第483步，我们获得了函数 f(rm) = 4.132978650375579 * rm + -3.0613963367105628, 此时loss是: 55.910751688070654\n",
      "在第484步，我们获得了函数 f(rm) = 4.134173588394152 * rm + -3.06899747846096, 此时loss是: 55.904831876653724\n",
      "在第485步，我们获得了函数 f(rm) = 4.135368239063275 * rm + -3.076596792347595, 此时loss是: 55.898914911995305\n",
      "在第486步，我们获得了函数 f(rm) = 4.136562602452047 * rm + -3.0841942788100183, 此时loss是: 55.8930007927265\n",
      "在第487步，我们获得了函数 f(rm) = 4.137756678629552 * rm + -3.0917899382876746, 此时loss是: 55.88708951747905\n",
      "在第488步，我们获得了函数 f(rm) = 4.138950467664856 * rm + -3.099383771219903, 此时loss是: 55.881181084885206\n",
      "在第489步，我们获得了函数 f(rm) = 4.140143969627008 * rm + -3.1069757780459373, 此时loss是: 55.875275493578016\n",
      "在第490步，我们获得了函数 f(rm) = 4.1413371845850415 * rm + -3.114565959204905, 此时loss是: 55.86937274219112\n",
      "在第491步，我们获得了函数 f(rm) = 4.142530112607974 * rm + -3.1221543151358286, 此时loss是: 55.86347282935895\n",
      "在第492步，我们获得了函数 f(rm) = 4.143722753764804 * rm + -3.129740846277625, 此时loss是: 55.85757575371627\n",
      "在第493步，我们获得了函数 f(rm) = 4.144915108124515 * rm + -3.137325553069105, 此时loss是: 55.85168151389897\n",
      "在第494步，我们获得了函数 f(rm) = 4.146107175756074 * rm + -3.1449084359489743, 此时loss是: 55.84579010854314\n",
      "在第495步，我们获得了函数 f(rm) = 4.147298956728433 * rm + -3.1524894953558333, 此时loss是: 55.83990153628578\n",
      "在第496步，我们获得了函数 f(rm) = 4.148490451110522 * rm + -3.1600687317281766, 此时loss是: 55.83401579576445\n",
      "在第497步，我们获得了函数 f(rm) = 4.149681658971261 * rm + -3.1676461455043934, 此时loss是: 55.828132885617585\n",
      "在第498步，我们获得了函数 f(rm) = 4.1508725803795485 * rm + -3.1752217371227673, 此时loss是: 55.82225280448389\n",
      "在第499步，我们获得了函数 f(rm) = 4.1520632154042705 * rm + -3.182795507021477, 此时loss是: 55.816375551003055\n",
      "在第500步，我们获得了函数 f(rm) = 4.153253564114292 * rm + -3.1903674556385955, 此时loss是: 55.81050112381518\n",
      "在第501步，我们获得了函数 f(rm) = 4.154443626578464 * rm + -3.1979375834120902, 此时loss是: 55.80462952156121\n",
      "在第502步，我们获得了函数 f(rm) = 4.1556334028656225 * rm + -3.205505890779824, 此时loss是: 55.79876074288273\n",
      "在第503步，我们获得了函数 f(rm) = 4.156822893044585 * rm + -3.213072378179554, 此时loss是: 55.79289478642186\n",
      "在第504步，我们获得了函数 f(rm) = 4.158012097184151 * rm + -3.2206370460489313, 此时loss是: 55.78703165082137\n",
      "在第505步，我们获得了函数 f(rm) = 4.159201015353105 * rm + -3.228199894825503, 此时loss是: 55.78117133472491\n",
      "在第506步，我们获得了函数 f(rm) = 4.1603896476202165 * rm + -3.2357609249467107, 此时loss是: 55.77531383677649\n",
      "在第507步，我们获得了函数 f(rm) = 4.161577994054236 * rm + -3.2433201368498903, 此时loss是: 55.769459155620865\n",
      "在第508步，我们获得了函数 f(rm) = 4.162766054723898 * rm + -3.250877530972273, 此时loss是: 55.76360728990365\n",
      "在第509步，我们获得了函数 f(rm) = 4.163953829697922 * rm + -3.258433107750984, 此时loss是: 55.757758238270775\n",
      "在第510步，我们获得了函数 f(rm) = 4.16514131904501 * rm + -3.2659868676230444, 此时loss是: 55.75191199936899\n",
      "在第511步，我们获得了函数 f(rm) = 4.166328522833846 * rm + -3.2735388110253703, 此时loss是: 55.7460685718458\n",
      "在第512步，我们获得了函数 f(rm) = 4.1675154411331 * rm + -3.281088938394772, 此时loss是: 55.74022795434918\n",
      "在第513步，我们获得了函数 f(rm) = 4.168702074011423 * rm + -3.2886372501679553, 此时loss是: 55.734390145527804\n",
      "在第514步，我们获得了函数 f(rm) = 4.169888421537452 * rm + -3.2961837467815203, 此时loss是: 55.7285551440311\n",
      "在第515步，我们获得了函数 f(rm) = 4.171074483779806 * rm + -3.3037284286719624, 此时loss是: 55.72272294850896\n",
      "在第516步，我们获得了函数 f(rm) = 4.172260260807089 * rm + -3.3112712962756725, 此时loss是: 55.71689355761208\n",
      "在第517步，我们获得了函数 f(rm) = 4.173445752687886 * rm + -3.3188123500289364, 此时loss是: 55.711066969991805\n",
      "在第518步，我们获得了函数 f(rm) = 4.1746309594907665 * rm + -3.3263515903679344, 此时loss是: 55.70524318429999\n",
      "在第519步，我们获得了函数 f(rm) = 4.175815881284284 * rm + -3.3338890177287426, 此时loss是: 55.699422199189264\n",
      "在第520步，我们获得了函数 f(rm) = 4.1770005181369765 * rm + -3.341424632547332, 此时loss是: 55.69360401331284\n",
      "在第521步，我们获得了函数 f(rm) = 4.178184870117363 * rm + -3.3489584352595685, 此时loss是: 55.68778862532471\n",
      "在第522步，我们获得了函数 f(rm) = 4.1793689372939475 * rm + -3.356490426301214, 此时loss是: 55.68197603387928\n",
      "在第523步，我们获得了函数 f(rm) = 4.180552719735219 * rm + -3.3640206061079243, 此时loss是: 55.676166237631705\n",
      "在第524步，我们获得了函数 f(rm) = 4.181736217509646 * rm + -3.3715489751152514, 此时loss是: 55.67035923523795\n",
      "在第525步，我们获得了函数 f(rm) = 4.1829194306856845 * rm + -3.3790755337586424, 此时loss是: 55.66455502535433\n",
      "在第526步，我们获得了函数 f(rm) = 4.1841023593317725 * rm + -3.38660028247344, 此时loss是: 55.65875360663808\n",
      "在第527步，我们获得了函数 f(rm) = 4.185285003516332 * rm + -3.3941232216948807, 此时loss是: 55.65295497774698\n",
      "在第528步，我们获得了函数 f(rm) = 4.1864673633077665 * rm + -3.4016443518580988, 此时loss是: 55.64715913733932\n",
      "在第529步，我们获得了函数 f(rm) = 4.187649438774466 * rm + -3.4091636733981217, 此时loss是: 55.64136608407431\n",
      "在第530步，我们获得了函数 f(rm) = 4.188831229984803 * rm + -3.4166811867498734, 此时loss是: 55.635575816611514\n",
      "在第531步，我们获得了函数 f(rm) = 4.190012737007131 * rm + -3.4241968923481734, 此时loss是: 55.62978833361138\n",
      "在第532步，我们获得了函数 f(rm) = 4.191193959909793 * rm + -3.4317107906277355, 此时loss是: 55.62400363373478\n",
      "在第533步，我们获得了函数 f(rm) = 4.192374898761108 * rm + -3.4392228820231705, 此时loss是: 55.61822171564342\n",
      "在第534步，我们获得了函数 f(rm) = 4.193555553629385 * rm + -3.4467331669689836, 此时loss是: 55.61244257799963\n",
      "在第535步，我们获得了函数 f(rm) = 4.194735924582914 * rm + -3.4542416458995757, 此时loss是: 55.60666621946625\n",
      "在第536步，我们获得了函数 f(rm) = 4.195916011689967 * rm + -3.4617483192492435, 此时loss是: 55.600892638706895\n",
      "在第537步，我们获得了函数 f(rm) = 4.197095815018802 * rm + -3.4692531874521793, 此时loss是: 55.59512183438562\n",
      "在第538步，我们获得了函数 f(rm) = 4.1982753346376604 * rm + -3.4767562509424703, 此时loss是: 55.58935380516752\n",
      "在第539步，我们获得了函数 f(rm) = 4.199454570614766 * rm + -3.4842575101541002, 此时loss是: 55.583588549717945\n",
      "在第540步，我们获得了函数 f(rm) = 4.200633523018328 * rm + -3.491756965520948, 此时loss是: 55.57782606670294\n",
      "在第541步，我们获得了函数 f(rm) = 4.201812191916535 * rm + -3.4992546174767885, 此时loss是: 55.572066354789506\n",
      "在第542步，我们获得了函数 f(rm) = 4.202990577377566 * rm + -3.5067504664552915, 此时loss是: 55.56630941264487\n",
      "在第543步，我们获得了函数 f(rm) = 4.204168679469577 * rm + -3.5142445128900235, 此时loss是: 55.56055523893711\n",
      "在第544步，我们获得了函数 f(rm) = 4.2053464982607105 * rm + -3.521736757214446, 此时loss是: 55.55480383233501\n",
      "在第545步，我们获得了函数 f(rm) = 4.206524033819094 * rm + -3.5292271998619165, 此时loss是: 55.549055191507826\n",
      "在第546步，我们获得了函数 f(rm) = 4.207701286212837 * rm + -3.5367158412656887, 此时loss是: 55.54330931512553\n",
      "在第547步，我们获得了函数 f(rm) = 4.208878255510031 * rm + -3.5442026818589114, 此时loss是: 55.537566201858844\n",
      "在第548步，我们获得了函数 f(rm) = 4.210054941778754 * rm + -3.5516877220746297, 此时loss是: 55.53182585037891\n",
      "在第549步，我们获得了函数 f(rm) = 4.211231345087066 * rm + -3.559170962345785, 此时loss是: 55.52608825935764\n",
      "在第550步，我们获得了函数 f(rm) = 4.212407465503013 * rm + -3.5666524031052127, 此时loss是: 55.52035342746764\n",
      "在第551步，我们获得了函数 f(rm) = 4.21358330309462 * rm + -3.574132044785647, 此时loss是: 55.51462135338191\n",
      "在第552步，我们获得了函数 f(rm) = 4.214758857929901 * rm + -3.5816098878197153, 此时loss是: 55.50889203577447\n",
      "在第553步，我们获得了函数 f(rm) = 4.21593413007685 * rm + -3.589085932639943, 此时loss是: 55.50316547331967\n",
      "在第554步，我们获得了函数 f(rm) = 4.217109119603444 * rm + -3.5965601796787503, 此时loss是: 55.49744166469256\n",
      "在第555步，我们获得了函数 f(rm) = 4.218283826577648 * rm + -3.6040326293684535, 此时loss是: 55.4917206085689\n",
      "在第556步，我们获得了函数 f(rm) = 4.219458251067406 * rm + -3.611503282141266, 此时loss是: 55.48600230362501\n",
      "在第557步，我们获得了函数 f(rm) = 4.22063239314065 * rm + -3.6189721384292954, 此时loss是: 55.48028674853795\n",
      "在第558步，我们获得了函数 f(rm) = 4.22180625286529 * rm + -3.6264391986645474, 此时loss是: 55.474573941985355\n",
      "在第559步，我们获得了函数 f(rm) = 4.222979830309226 * rm + -3.633904463278922, 此时loss是: 55.46886388264538\n",
      "在第560步，我们获得了函数 f(rm) = 4.2241531255403375 * rm + -3.641367932704217, 此时loss是: 55.463156569197\n",
      "在第561步，我们获得了函数 f(rm) = 4.22532613862649 * rm + -3.6488296073721256, 此时loss是: 55.45745200031974\n",
      "在第562步，我们获得了函数 f(rm) = 4.226498869635529 * rm + -3.6562894877142367, 此时loss是: 55.451750174693935\n",
      "在第563步，我们获得了函数 f(rm) = 4.227671318635288 * rm + -3.663747574162036, 此时loss是: 55.44605109100006\n",
      "在第564步，我们获得了函数 f(rm) = 4.228843485693583 * rm + -3.671203867146905, 此时loss是: 55.44035474791984\n",
      "在第565步，我们获得了函数 f(rm) = 4.230015370878211 * rm + -3.6786583671001227, 此时loss是: 55.43466114413517\n",
      "在第566步，我们获得了函数 f(rm) = 4.231186974256957 * rm + -3.6861110744528625, 此时loss是: 55.42897027832883\n",
      "在第567步，我们获得了函数 f(rm) = 4.232358295897586 * rm + -3.6935619896361955, 此时loss是: 55.42328214918421\n",
      "在第568步，我们获得了函数 f(rm) = 4.233529335867848 * rm + -3.701011113081089, 此时loss是: 55.41759675538524\n",
      "在第569步，我们获得了函数 f(rm) = 4.234700094235479 * rm + -3.7084584452184064, 此时loss是: 55.41191409561663\n",
      "在第570步，我们获得了函数 f(rm) = 4.235870571068195 * rm + -3.715903986478907, 此时loss是: 55.4062341685634\n",
      "在第571步，我们获得了函数 f(rm) = 4.237040766433696 * rm + -3.7233477372932473, 此时loss是: 55.40055697291157\n",
      "在第572步，我们获得了函数 f(rm) = 4.23821068039967 * rm + -3.73078969809198, 此时loss是: 55.39488250734763\n",
      "在第573步，我们获得了函数 f(rm) = 4.239380313033785 * rm + -3.738229869305554, 此时loss是: 55.3892107705587\n",
      "在第574步，我们获得了函数 f(rm) = 4.240549664403693 * rm + -3.745668251364315, 此时loss是: 55.383541761232685\n",
      "在第575步，我们获得了函数 f(rm) = 4.241718734577029 * rm + -3.753104844698505, 此时loss是: 55.37787547805766\n",
      "在第576步，我们获得了函数 f(rm) = 4.242887523621414 * rm + -3.760539649738263, 此时loss是: 55.372211919722936\n",
      "在第577步，我们获得了函数 f(rm) = 4.244056031604453 * rm + -3.7679726669136238, 此时loss是: 55.36655108491813\n",
      "在第578步，我们获得了函数 f(rm) = 4.245224258593732 * rm + -3.7754038966545194, 此时loss是: 55.36089297233349\n",
      "在第579步，我们获得了函数 f(rm) = 4.246392204656822 * rm + -3.782833339390778, 此时loss是: 55.35523758065987\n",
      "在第580步，我们获得了函数 f(rm) = 4.247559869861279 * rm + -3.7902609955521247, 此时loss是: 55.34958490858894\n",
      "在第581步，我们获得了函数 f(rm) = 4.248727254274641 * rm + -3.7976868655681817, 此时loss是: 55.343934954812866\n",
      "在第582步，我们获得了函数 f(rm) = 4.249894357964431 * rm + -3.805110949868467, 此时loss是: 55.33828771802433\n",
      "在第583步，我们获得了函数 f(rm) = 4.251061180998154 * rm + -3.8125332488823958, 此时loss是: 55.332643196916905\n",
      "在第584步，我们获得了函数 f(rm) = 4.252227723443302 * rm + -3.8199537630392797, 此时loss是: 55.32700139018458\n",
      "在第585步，我们获得了函数 f(rm) = 4.253393985367347 * rm + -3.8273724927683275, 此时loss是: 55.321362296522146\n",
      "在第586步，我们获得了函数 f(rm) = 4.254559966837747 * rm + -3.8347894384986447, 此时loss是: 55.31572591462485\n",
      "在第587步，我们获得了函数 f(rm) = 4.255725667921944 * rm + -3.842204600659233, 此时loss是: 55.310092243188556\n",
      "在第588步，我们获得了函数 f(rm) = 4.256891088687363 * rm + -3.8496179796789924, 此时loss是: 55.304461280910004\n",
      "在第589步，我们获得了函数 f(rm) = 4.258056229201412 * rm + -3.857029575986718, 此时loss是: 55.29883302648634\n",
      "在第590步，我们获得了函数 f(rm) = 4.259221089531485 * rm + -3.8644393900111034, 此时loss是: 55.29320747861531\n",
      "在第591步，我们获得了函数 f(rm) = 4.260385669744958 * rm + -3.8718474221807373, 此时loss是: 55.28758463599546\n",
      "在第592步，我们获得了函数 f(rm) = 4.26154996990919 * rm + -3.879253672924107, 此时loss是: 55.281964497325845\n",
      "在第593步，我们获得了函数 f(rm) = 4.262713990091526 * rm + -3.886658142669596, 此时loss是: 55.27634706130618\n",
      "在第594步，我们获得了函数 f(rm) = 4.263877730359293 * rm + -3.8940608318454846, 此时loss是: 55.27073232663682\n",
      "在第595步，我们获得了函数 f(rm) = 4.2650411907798045 * rm + -3.9014617408799506, 此时loss是: 55.26512029201856\n",
      "在第596步，我们获得了函数 f(rm) = 4.266204371420356 * rm + -3.9088608702010688, 此时loss是: 55.2595109561532\n",
      "在第597步，我们获得了函数 f(rm) = 4.267367272348225 * rm + -3.916258220236811, 此时loss是: 55.25390431774285\n",
      "在第598步，我们获得了函数 f(rm) = 4.268529893630675 * rm + -3.9236537914150458, 此时loss是: 55.24830037549033\n",
      "在第599步，我们获得了函数 f(rm) = 4.269692235334955 * rm + -3.931047584163539, 此时loss是: 55.24269912809912\n",
      "在第600步，我们获得了函数 f(rm) = 4.2708542975282935 * rm + -3.9384395989099534, 此时loss是: 55.23710057427329\n",
      "在第601步，我们获得了函数 f(rm) = 4.272016080277906 * rm + -3.94582983608185, 此时loss是: 55.23150471271754\n",
      "在第602步，我们获得了函数 f(rm) = 4.273177583650991 * rm + -3.953218296106685, 此时loss是: 55.22591154213719\n",
      "在第603步，我们获得了函数 f(rm) = 4.274338807714731 * rm + -3.960604979411814, 此时loss是: 55.22032106123813\n",
      "在第604步，我们获得了函数 f(rm) = 4.275499752536292 * rm + -3.9679898864244882, 此时loss是: 55.21473326872702\n",
      "在第605步，我们获得了函数 f(rm) = 4.276660418182823 * rm + -3.975373017571857, 此时loss是: 55.209148163311035\n",
      "在第606步，我们获得了函数 f(rm) = 4.27782080472146 * rm + -3.9827543732809665, 此时loss是: 55.203565743697915\n",
      "在第607步，我们获得了函数 f(rm) = 4.2789809122193185 * rm + -3.9901339539787606, 此时loss是: 55.19798600859619\n",
      "在第608步，我们获得了函数 f(rm) = 4.2801407407435015 * rm + -3.99751176009208, 此时loss是: 55.192408956714836\n",
      "在第609步，我们获得了函数 f(rm) = 4.281300290361094 * rm + -4.004887792047664, 此时loss是: 55.18683458676359\n",
      "在第610步，我们获得了函数 f(rm) = 4.282459561139165 * rm + -4.012262050272147, 此时loss是: 55.18126289745266\n",
      "在第611步，我们获得了函数 f(rm) = 4.283618553144768 * rm + -4.019634535192063, 此时loss是: 55.175693887493075\n",
      "在第612步，我们获得了函数 f(rm) = 4.284777266444939 * rm + -4.027005247233842, 此时loss是: 55.17012755559627\n",
      "在第613步，我们获得了函数 f(rm) = 4.285935701106701 * rm + -4.034374186823812, 此时loss是: 55.1645639004745\n",
      "在第614步，我们获得了函数 f(rm) = 4.287093857197058 * rm + -4.041741354388199, 此时loss是: 55.159002920840486\n",
      "在第615步，我们获得了函数 f(rm) = 4.288251734782998 * rm + -4.0491067503531255, 此时loss是: 55.153444615407494\n",
      "在第616步，我们获得了函数 f(rm) = 4.289409333931494 * rm + -4.056470375144612, 此时loss是: 55.14788898288976\n",
      "在第617步，我们获得了函数 f(rm) = 4.290566654709502 * rm + -4.063832229188578, 此时loss是: 55.14233602200176\n",
      "在第618步，我们获得了函数 f(rm) = 4.291723697183963 * rm + -4.071192312910838, 此时loss是: 55.136785731458886\n",
      "在第619步，我们获得了函数 f(rm) = 4.2928804614218015 * rm + -4.078550626737105, 此时loss是: 55.131238109976906\n",
      "在第620步，我们获得了函数 f(rm) = 4.294036947489925 * rm + -4.085907171092989, 此时loss是: 55.125693156272256\n",
      "在第621步，我们获得了函数 f(rm) = 4.295193155455226 * rm + -4.093261946404001, 此时loss是: 55.12015086906207\n",
      "在第622步，我们获得了函数 f(rm) = 4.2963490853845805 * rm + -4.100614953095546, 此时loss是: 55.11461124706412\n",
      "在第623步，我们获得了函数 f(rm) = 4.297504737344848 * rm + -4.1079661915929275, 此时loss是: 55.109074288996744\n",
      "在第624步，我们获得了函数 f(rm) = 4.2986601114028735 * rm + -4.115315662321348, 此时loss是: 55.10353999357885\n",
      "在第625步，我们获得了函数 f(rm) = 4.299815207625484 * rm + -4.122663365705906, 此时loss是: 55.09800835953003\n",
      "在第626步，我们获得了函数 f(rm) = 4.30097002607949 * rm + -4.130009302171599, 此时loss是: 55.092479385570456\n",
      "在第627步，我们获得了函数 f(rm) = 4.302124566831689 * rm + -4.137353472143323, 此时loss是: 55.0869530704209\n",
      "在第628步，我们获得了函数 f(rm) = 4.3032788299488605 * rm + -4.144695876045869, 此时loss是: 55.0814294128028\n",
      "在第629步，我们获得了函数 f(rm) = 4.304432815497767 * rm + -4.152036514303929, 此时loss是: 55.07590841143816\n",
      "在第630步，我们获得了函数 f(rm) = 4.305586523545157 * rm + -4.159375387342091, 此时loss是: 55.07039006504976\n",
      "在第631步，我们获得了函数 f(rm) = 4.306739954157761 * rm + -4.166712495584841, 此时loss是: 55.06487437236063\n",
      "在第632步，我们获得了函数 f(rm) = 4.307893107402294 * rm + -4.1740478394565645, 此时loss是: 55.05936133209481\n",
      "在第633步，我们获得了函数 f(rm) = 4.309045983345457 * rm + -4.181381419381543, 此时loss是: 55.053850942976695\n",
      "在第634步，我们获得了函数 f(rm) = 4.310198582053932 * rm + -4.188713235783957, 此时loss是: 55.04834320373149\n",
      "在第635步，我们获得了函数 f(rm) = 4.311350903594387 * rm + -4.196043289087885, 此时loss是: 55.04283811308478\n",
      "在第636步，我们获得了函数 f(rm) = 4.312502948033472 * rm + -4.203371579717302, 此时loss是: 55.037335669762946\n",
      "在第637步，我们获得了函数 f(rm) = 4.313654715437823 * rm + -4.210698108096085, 此时loss是: 55.03183587249297\n",
      "在第638步，我们获得了函数 f(rm) = 4.31480620587406 * rm + -4.218022874648003, 此时loss是: 55.02633872000226\n",
      "在第639步，我们获得了函数 f(rm) = 4.315957419408785 * rm + -4.22534587979673, 此时loss是: 55.02084421101911\n",
      "在第640步，我们获得了函数 f(rm) = 4.3171083561085855 * rm + -4.232667123965832, 此时loss是: 55.015352344272266\n",
      "在第641步，我们获得了函数 f(rm) = 4.318259016040033 * rm + -4.239986607578776, 此时loss是: 55.009863118491154\n",
      "在第642步，我们获得了函数 f(rm) = 4.319409399269681 * rm + -4.247304331058928, 此时loss是: 55.00437653240563\n",
      "在第643步，我们获得了函数 f(rm) = 4.320559505864071 * rm + -4.25462029482955, 此时loss是: 54.99889258474646\n",
      "在第644步，我们获得了函数 f(rm) = 4.321709335889724 * rm + -4.261934499313805, 此时loss是: 54.993411274244714\n",
      "在第645步，我们获得了函数 f(rm) = 4.3228588894131486 * rm + -4.269246944934751, 此时loss是: 54.987932599632366\n",
      "在第646步，我们获得了函数 f(rm) = 4.324008166500835 * rm + -4.276557632115346, 此时loss是: 54.9824565596417\n",
      "在第647步，我们获得了函数 f(rm) = 4.325157167219259 * rm + -4.2838665612784474, 此时loss是: 54.97698315300581\n",
      "在第648步，我们获得了函数 f(rm) = 4.326305891634879 * rm + -4.291173732846809, 此时loss是: 54.97151237845846\n",
      "在第649步，我们获得了函数 f(rm) = 4.327454339814139 * rm + -4.298479147243082, 此时loss是: 54.9660442347338\n",
      "在第650步，我们获得了函数 f(rm) = 4.3286025118234654 * rm + -4.3057828048898195, 此时loss是: 54.96057872056673\n",
      "在第651步，我们获得了函数 f(rm) = 4.329750407729271 * rm + -4.31308470620947, 此时loss是: 54.955115834692705\n",
      "在第652步，我们获得了函数 f(rm) = 4.330898027597948 * rm + -4.320384851624382, 此时loss是: 54.9496555758479\n",
      "在第653步，我们获得了函数 f(rm) = 4.332045371495878 * rm + -4.3276832415568025, 此时loss是: 54.94419794276895\n",
      "在第654步，我们获得了函数 f(rm) = 4.333192439489424 * rm + -4.334979876428875, 此时loss是: 54.93874293419311\n",
      "在第655步，我们获得了函数 f(rm) = 4.334339231644933 * rm + -4.342274756662643, 此时loss是: 54.93329054885836\n",
      "在第656步，我们获得了函数 f(rm) = 4.335485748028737 * rm + -4.3495678826800495, 此时loss是: 54.9278407855032\n",
      "在第657步，我们获得了函数 f(rm) = 4.3366319887071505 * rm + -4.356859254902934, 此时loss是: 54.922393642866794\n",
      "在第658步，我们获得了函数 f(rm) = 4.337777953746474 * rm + -4.364148873753036, 此时loss是: 54.916949119688816\n",
      "在第659步，我们获得了函数 f(rm) = 4.33892364321299 * rm + -4.371436739651992, 此时loss是: 54.911507214709616\n",
      "在第660步，我们获得了函数 f(rm) = 4.3400690571729665 * rm + -4.37872285302134, 此时loss是: 54.906067926670154\n",
      "在第661步，我们获得了函数 f(rm) = 4.341214195692656 * rm + -4.386007214282512, 此时loss是: 54.90063125431197\n",
      "在第662步，我们获得了函数 f(rm) = 4.3423590588382925 * rm + -4.393289823856843, 此时loss是: 54.89519719637714\n",
      "在第663步，我们获得了函数 f(rm) = 4.343503646676098 * rm + -4.400570682165566, 此时loss是: 54.88976575160861\n",
      "在第664步，我们获得了函数 f(rm) = 4.344647959272275 * rm + -4.40784978962981, 此时loss是: 54.88433691874954\n",
      "在第665步，我们获得了函数 f(rm) = 4.345791996693012 * rm + -4.4151271466706055, 此时loss是: 54.87891069654408\n",
      "在第666步，我们获得了函数 f(rm) = 4.34693575900448 * rm + -4.422402753708881, 此时loss是: 54.87348708373668\n",
      "在第667步，我们获得了函数 f(rm) = 4.348079246272836 * rm + -4.429676611165463, 此时loss是: 54.86806607907251\n",
      "在第668步，我们获得了函数 f(rm) = 4.349222458564221 * rm + -4.4369487194610775, 此时loss是: 54.862647681297425\n",
      "在第669步，我们获得了函数 f(rm) = 4.350365395944759 * rm + -4.444219079016349, 此时loss是: 54.857231889157724\n",
      "在第670步，我们获得了函数 f(rm) = 4.351508058480557 * rm + -4.451487690251803, 此时loss是: 54.85181870140048\n",
      "在第671步，我们获得了函数 f(rm) = 4.352650446237709 * rm + -4.458754553587859, 此时loss是: 54.846408116773226\n",
      "在第672步，我们获得了函数 f(rm) = 4.353792559282291 * rm + -4.46601966944484, 此时loss是: 54.84100013402416\n",
      "在第673步，我们获得了函数 f(rm) = 4.354934397680363 * rm + -4.473283038242966, 此时loss是: 54.835594751902036\n",
      "在第674步，我们获得了函数 f(rm) = 4.3560759614979725 * rm + -4.480544660402355, 此时loss是: 54.830191969156296\n",
      "在第675步，我们获得了函数 f(rm) = 4.3572172508011455 * rm + -4.487804536343027, 此时loss是: 54.824791784536934\n",
      "在第676步，我们获得了函数 f(rm) = 4.358358265655897 * rm + -4.495062666484897, 此时loss是: 54.81939419679449\n",
      "在第677步，我们获得了函数 f(rm) = 4.359499006128224 * rm + -4.502319051247785, 此时loss是: 54.813999204680314\n",
      "在第678步，我们获得了函数 f(rm) = 4.360639472284107 * rm + -4.509573691051402, 此时loss是: 54.80860680694605\n",
      "在第679步，我们获得了函数 f(rm) = 4.361779664189512 * rm + -4.516826586315365, 此时loss是: 54.80321700234413\n",
      "在第680步，我们获得了函数 f(rm) = 4.362919581910388 * rm + -4.524077737459186, 此时loss是: 54.79782978962752\n",
      "在第681步，我们获得了函数 f(rm) = 4.36405922551267 * rm + -4.531327144902279, 此时loss是: 54.79244516754986\n",
      "在第682步，我们获得了函数 f(rm) = 4.365198595062275 * rm + -4.538574809063953, 此时loss是: 54.78706313486538\n",
      "在第683步，我们获得了函数 f(rm) = 4.366337690625106 * rm + -4.545820730363422, 此时loss是: 54.781683690328855\n",
      "在第684步，我们获得了函数 f(rm) = 4.367476512267048 * rm + -4.553064909219795, 此时loss是: 54.77630683269558\n",
      "在第685步，我们获得了函数 f(rm) = 4.368615060053973 * rm + -4.560307346052079, 此时loss是: 54.770932560721704\n",
      "在第686步，我们获得了函数 f(rm) = 4.369753334051733 * rm + -4.567548041279185, 此时loss是: 54.76556087316373\n",
      "在第687步，我们获得了函数 f(rm) = 4.37089133432617 * rm + -4.57478699531992, 此时loss是: 54.76019176877883\n",
      "在第688步，我们获得了函数 f(rm) = 4.372029060943103 * rm + -4.582024208592991, 此时loss是: 54.75482524632485\n",
      "在第689步，我们获得了函数 f(rm) = 4.373166513968343 * rm + -4.589259681517005, 此时loss是: 54.74946130456007\n",
      "在第690步，我们获得了函数 f(rm) = 4.374303693467678 * rm + -4.596493414510467, 此时loss是: 54.7440999422437\n",
      "在第691步，我们获得了函数 f(rm) = 4.375440599506885 * rm + -4.603725407991781, 此时loss是: 54.73874115813502\n",
      "在第692步，我们获得了函数 f(rm) = 4.376577232151724 * rm + -4.6109556623792525, 此时loss是: 54.73338495099442\n",
      "在第693步，我们获得了函数 f(rm) = 4.377713591467938 * rm + -4.618184178091086, 此时loss是: 54.728031319582655\n",
      "在第694步，我们获得了函数 f(rm) = 4.378849677521254 * rm + -4.625410955545385, 此时loss是: 54.7226802626609\n",
      "在第695步，我们获得了函数 f(rm) = 4.379985490377385 * rm + -4.6326359951601495, 此时loss是: 54.71733177899127\n",
      "在第696步，我们获得了函数 f(rm) = 4.381121030102029 * rm + -4.639859297353285, 此时loss是: 54.711985867336445\n",
      "在第697步，我们获得了函数 f(rm) = 4.382256296760864 * rm + -4.647080862542591, 此时loss是: 54.70664252645926\n",
      "在第698步，我们获得了函数 f(rm) = 4.383391290419556 * rm + -4.654300691145769, 此时loss是: 54.701301755123744\n",
      "在第699步，我们获得了函数 f(rm) = 4.3845260111437545 * rm + -4.661518783580421, 此时loss是: 54.69596355209409\n",
      "在第700步，我们获得了函数 f(rm) = 4.385660458999091 * rm + -4.6687351402640465, 此时loss是: 54.69062791613525\n",
      "在第701步，我们获得了函数 f(rm) = 4.386794634051184 * rm + -4.675949761614046, 此时loss是: 54.685294846012845\n",
      "在第702步，我们获得了函数 f(rm) = 4.387928536365635 * rm + -4.683162648047718, 此时loss是: 54.67996434049291\n",
      "在第703步，我们获得了函数 f(rm) = 4.3890621660080305 * rm + -4.690373799982263, 此时loss是: 54.674636398342166\n",
      "在第704步，我们获得了函数 f(rm) = 4.390195523043939 * rm + -4.697583217834779, 此时loss是: 54.669311018327974\n",
      "在第705步，我们获得了函数 f(rm) = 4.391328607538916 * rm + -4.704790902022266, 此时loss是: 54.66398819921817\n",
      "在第706步，我们获得了函数 f(rm) = 4.392461419558499 * rm + -4.7119968529616205, 此时loss是: 54.658667939781296\n",
      "在第707步，我们获得了函数 f(rm) = 4.3935939591682125 * rm + -4.719201071069642, 此时loss是: 54.65335023878643\n",
      "在第708步，我们获得了函数 f(rm) = 4.394726226433562 * rm + -4.726403556763027, 此时loss是: 54.64803509500327\n",
      "在第709步，我们获得了函数 f(rm) = 4.395858221420039 * rm + -4.733604310458375, 此时loss是: 54.642722507202\n",
      "在第710步，我们获得了函数 f(rm) = 4.39698994419312 * rm + -4.740803332572183, 此时loss是: 54.637412474153614\n",
      "在第711步，我们获得了函数 f(rm) = 4.398121394818263 * rm + -4.748000623520847, 此时loss是: 54.63210499462946\n",
      "在第712步，我们获得了函数 f(rm) = 4.399252573360914 * rm + -4.755196183720665, 此时loss是: 54.626800067401646\n",
      "在第713步，我们获得了函数 f(rm) = 4.4003834798865 * rm + -4.762390013587835, 此时loss是: 54.621497691242745\n",
      "在第714步，我们获得了函数 f(rm) = 4.401514114460434 * rm + -4.769582113538452, 此时loss是: 54.61619786492605\n",
      "在第715步，我们获得了函数 f(rm) = 4.402644477148112 * rm + -4.776772483988514, 此时loss是: 54.61090058722535\n",
      "在第716步，我们获得了函数 f(rm) = 4.403774568014916 * rm + -4.783961125353919, 此时loss是: 54.605605856915\n",
      "在第717步，我们获得了函数 f(rm) = 4.404904387126212 * rm + -4.791148038050462, 此时loss是: 54.60031367277011\n",
      "在第718步，我们获得了函数 f(rm) = 4.406033934547349 * rm + -4.7983332224938415, 此时loss是: 54.59502403356612\n",
      "在第719步，我们获得了函数 f(rm) = 4.40716321034366 * rm + -4.805516679099654, 此时loss是: 54.58973693807928\n",
      "在第720步，我们获得了函数 f(rm) = 4.408292214580465 * rm + -4.812698408283396, 此时loss是: 54.58445238508635\n",
      "在第721步，我们获得了函数 f(rm) = 4.409420947323065 * rm + -4.819878410460465, 此时loss是: 54.579170373364704\n",
      "在第722步，我们获得了函数 f(rm) = 4.410549408636748 * rm + -4.827056686046158, 此时loss是: 54.57389090169229\n",
      "在第723步，我们获得了函数 f(rm) = 4.411677598586784 * rm + -4.834233235455673, 此时loss是: 54.568613968847494\n",
      "在第724步，我们获得了函数 f(rm) = 4.4128055172384295 * rm + -4.841408059104106, 此时loss是: 54.563339573609575\n",
      "在第725步，我们获得了函数 f(rm) = 4.413933164656923 * rm + -4.848581157406456, 此时loss是: 54.55806771475812\n",
      "在第726步，我们获得了函数 f(rm) = 4.41506054090749 * rm + -4.855752530777621, 此时loss是: 54.5527983910735\n",
      "在第727步，我们获得了函数 f(rm) = 4.416187646055337 * rm + -4.862922179632398, 此时loss是: 54.54753160133657\n",
      "在第728步，我们获得了函数 f(rm) = 4.4173144801656585 * rm + -4.870090104385486, 此时loss是: 54.54226734432876\n",
      "在第729步，我们获得了函数 f(rm) = 4.418441043303631 * rm + -4.877256305451484, 此时loss是: 54.537005618832126\n",
      "在第730步，我们获得了函数 f(rm) = 4.419567335534416 * rm + -4.88442078324489, 此时loss是: 54.53174642362933\n",
      "在第731步，我们获得了函数 f(rm) = 4.420693356923158 * rm + -4.891583538180104, 此时loss是: 54.52648975750353\n",
      "在第732步，我们获得了函数 f(rm) = 4.421819107534988 * rm + -4.898744570671425, 此时loss是: 54.5212356192386\n",
      "在第733步，我们获得了函数 f(rm) = 4.422944587435021 * rm + -4.905903881133054, 此时loss是: 54.51598400761891\n",
      "在第734步，我们获得了函数 f(rm) = 4.424069796688354 * rm + -4.91306146997909, 此时loss是: 54.51073492142934\n",
      "在第735步，我们获得了函数 f(rm) = 4.425194735360071 * rm + -4.920217337623535, 此时loss是: 54.50548835945546\n",
      "在第736步，我们获得了函数 f(rm) = 4.426319403515239 * rm + -4.9273714844802905, 此时loss是: 54.50024432048357\n",
      "在第737步，我们获得了函数 f(rm) = 4.427443801218911 * rm + -4.934523910963157, 此时loss是: 54.4950028033002\n",
      "在第738步，我们获得了函数 f(rm) = 4.428567928536121 * rm + -4.9416746174858375, 此时loss是: 54.48976380669275\n",
      "在第739步，我们获得了函数 f(rm) = 4.429691785531891 * rm + -4.948823604461934, 此时loss是: 54.48452732944908\n",
      "在第740步，我们获得了函数 f(rm) = 4.430815372271225 * rm + -4.95597087230495, 此时loss是: 54.479293370357695\n",
      "在第741步，我们获得了函数 f(rm) = 4.4319386888191135 * rm + -4.96311642142829, 此时loss是: 54.474061928207654\n",
      "在第742步，我们获得了函数 f(rm) = 4.4330617352405275 * rm + -4.970260252245258, 此时loss是: 54.46883300178848\n",
      "在第743步，我们获得了函数 f(rm) = 4.434184511600427 * rm + -4.977402365169059, 此时loss是: 54.463606589890595\n",
      "在第744步，我们获得了函数 f(rm) = 4.435307017963755 * rm + -4.984542760612799, 此时loss是: 54.45838269130458\n",
      "在第745步，我们获得了函数 f(rm) = 4.436429254395436 * rm + -4.991681438989483, 此时loss是: 54.45316130482199\n",
      "在第746步，我们获得了函数 f(rm) = 4.437551220960382 * rm + -4.998818400712019, 此时loss是: 54.44794242923466\n",
      "在第747步，我们获得了函数 f(rm) = 4.438672917723488 * rm + -5.005953646193215, 此时loss是: 54.44272606333518\n",
      "在第748步，我们获得了函数 f(rm) = 4.439794344749635 * rm + -5.013087175845779, 此时loss是: 54.43751220591671\n",
      "在第749步，我们获得了函数 f(rm) = 4.440915502103686 * rm + -5.020218990082321, 此时loss是: 54.432300855772986\n",
      "在第750步，我们获得了函数 f(rm) = 4.442036389850491 * rm + -5.027349089315349, 此时loss是: 54.42709201169818\n",
      "在第751步，我们获得了函数 f(rm) = 4.4431570080548815 * rm + -5.034477473957275, 此时loss是: 54.42188567248719\n",
      "在第752步，我们获得了函数 f(rm) = 4.444277356781677 * rm + -5.041604144420411, 此时loss是: 54.4166818369355\n",
      "在第753步，我们获得了函数 f(rm) = 4.445397436095678 * rm + -5.04872910111697, 此时loss是: 54.41148050383908\n",
      "在第754步，我们获得了函数 f(rm) = 4.44651724606167 * rm + -5.055852344459064, 此时loss是: 54.406281671994655\n",
      "在第755步，我们获得了函数 f(rm) = 4.447636786744425 * rm + -5.062973874858707, 此时loss是: 54.40108534019933\n",
      "在第756步，我们获得了函数 f(rm) = 4.448756058208698 * rm + -5.070093692727815, 此时loss是: 54.39589150725077\n",
      "在第757步，我们获得了函数 f(rm) = 4.449875060519228 * rm + -5.077211798478204, 此时loss是: 54.3907001719475\n",
      "在第758步，我们获得了函数 f(rm) = 4.45099379374074 * rm + -5.084328192521591, 此时loss是: 54.38551133308819\n",
      "在第759步，我们获得了函数 f(rm) = 4.452112257937942 * rm + -5.0914428752695935, 此时loss是: 54.38032498947255\n",
      "在第760步，我们获得了函数 f(rm) = 4.453230453175527 * rm + -5.098555847133731, 此时loss是: 54.375141139900634\n",
      "在第761步，我们获得了函数 f(rm) = 4.454348379518172 * rm + -5.105667108525425, 此时loss是: 54.36995978317294\n",
      "在第762步，我们获得了函数 f(rm) = 4.455466037030538 * rm + -5.112776659855994, 此时loss是: 54.36478091809085\n",
      "在第763步，我们获得了函数 f(rm) = 4.456583425777273 * rm + -5.119884501536662, 此时loss是: 54.35960454345606\n",
      "在第764步，我们获得了函数 f(rm) = 4.457700545823006 * rm + -5.1269906339785525, 此时loss是: 54.354430658070974\n",
      "在第765步，我们获得了函数 f(rm) = 4.458817397232354 * rm + -5.134095057592689, 此时loss是: 54.34925926073867\n",
      "在第766步，我们获得了函数 f(rm) = 4.459933980069915 * rm + -5.141197772789998, 此时loss是: 54.34409035026246\n",
      "在第767步，我们获得了函数 f(rm) = 4.461050294400274 * rm + -5.148298779981307, 此时loss是: 54.33892392544655\n",
      "在第768步，我们获得了函数 f(rm) = 4.4621663402879985 * rm + -5.155398079577342, 此时loss是: 54.33375998509567\n",
      "在第769步，我们获得了函数 f(rm) = 4.463282117797643 * rm + -5.162495671988734, 此时loss是: 54.32859852801498\n",
      "在第770步，我们获得了函数 f(rm) = 4.464397626993743 * rm + -5.1695915576260125, 此时loss是: 54.32343955301041\n",
      "在第771步，我们获得了函数 f(rm) = 4.465512867940823 * rm + -5.17668573689961, 此时loss是: 54.31828305888825\n",
      "在第772步，我们获得了函数 f(rm) = 4.466627840703387 * rm + -5.1837782102198595, 此时loss是: 54.31312904445556\n",
      "在第773步，我们获得了函数 f(rm) = 4.467742545345927 * rm + -5.190868977996995, 此时loss是: 54.30797750851981\n",
      "在第774步，我们获得了函数 f(rm) = 4.468856981932919 * rm + -5.197958040641153, 此时loss是: 54.302828449889276\n",
      "在第775步，我们获得了函数 f(rm) = 4.4699711505288215 * rm + -5.205045398562371, 此时loss是: 54.297681867372525\n",
      "在第776步，我们获得了函数 f(rm) = 4.47108505119808 * rm + -5.212131052170586, 此时loss是: 54.29253775977885\n",
      "在第777步，我们获得了函数 f(rm) = 4.472198684005123 * rm + -5.21921500187564, 此时loss是: 54.287396125918065\n",
      "在第778步，我们获得了函数 f(rm) = 4.473312049014365 * rm + -5.226297248087273, 此时loss是: 54.282256964600656\n",
      "在第779步，我们获得了函数 f(rm) = 4.474425146290202 * rm + -5.233377791215129, 此时loss是: 54.27712027463754\n",
      "在第780步，我们获得了函数 f(rm) = 4.475537975897018 * rm + -5.240456631668751, 此时loss是: 54.27198605484035\n",
      "在第781步，我们获得了函数 f(rm) = 4.47665053789918 * rm + -5.247533769857586, 此时loss是: 54.26685430402119\n",
      "在第782步，我们获得了函数 f(rm) = 4.477762832361038 * rm + -5.254609206190982, 此时loss是: 54.26172502099274\n",
      "在第783步，我们获得了函数 f(rm) = 4.47887485934693 * rm + -5.2616829410781865, 此时loss是: 54.25659820456824\n",
      "在第784步，我们获得了函数 f(rm) = 4.479986618921175 * rm + -5.268754974928351, 此时loss是: 54.25147385356157\n",
      "在第785步，我们获得了函数 f(rm) = 4.4810981111480785 * rm + -5.2758253081505275, 此时loss是: 54.24635196678718\n",
      "在第786步，我们获得了函数 f(rm) = 4.48220933609193 * rm + -5.28289394115367, 此时loss是: 54.24123254306002\n",
      "在第787步，我们获得了函数 f(rm) = 4.483320293817005 * rm + -5.289960874346634, 此时loss是: 54.236115581195584\n",
      "在第788步，我们获得了函数 f(rm) = 4.4844309843875605 * rm + -5.297026108138176, 此时loss是: 54.23100108001011\n",
      "在第789步，我们获得了函数 f(rm) = 4.48554140786784 * rm + -5.304089642936956, 此时loss是: 54.22588903832024\n",
      "在第790步，我们获得了函数 f(rm) = 4.486651564322073 * rm + -5.311151479151535, 此时loss是: 54.2207794549432\n",
      "在第791步，我们获得了函数 f(rm) = 4.4877614538144694 * rm + -5.318211617190374, 此时loss是: 54.21567232869686\n",
      "在第792步，我们获得了函数 f(rm) = 4.488871076409228 * rm + -5.325270057461838, 此时loss是: 54.210567658399626\n",
      "在第793步，我们获得了函数 f(rm) = 4.489980432170529 * rm + -5.332326800374192, 此时loss是: 54.20546544287045\n",
      "在第794步，我们获得了函数 f(rm) = 4.491089521162539 * rm + -5.339381846335605, 此时loss是: 54.20036568092884\n",
      "在第795步，我们获得了函数 f(rm) = 4.492198343449409 * rm + -5.346435195754146, 此时loss是: 54.195268371394945\n",
      "在第796步，我们获得了函数 f(rm) = 4.493306899095273 * rm + -5.353486849037786, 此时loss是: 54.19017351308939\n",
      "在第797步，我们获得了函数 f(rm) = 4.494415188164252 * rm + -5.3605368065944, 此时loss是: 54.18508110483349\n",
      "在第798步，我们获得了函数 f(rm) = 4.49552321072045 * rm + -5.367585068831762, 此时loss是: 54.17999114544891\n",
      "在第799步，我们获得了函数 f(rm) = 4.496630966827956 * rm + -5.37463163615755, 此时loss是: 54.17490363375815\n",
      "在第800步，我们获得了函数 f(rm) = 4.4977384565508425 * rm + -5.381676508979342, 此时loss是: 54.16981856858408\n",
      "在第801步，我们获得了函数 f(rm) = 4.4988456799531695 * rm + -5.38871968770462, 此时loss是: 54.16473594875019\n",
      "在第802步，我们获得了函数 f(rm) = 4.499952637098978 * rm + -5.395761172740769, 此时loss是: 54.15965577308067\n",
      "在第803步，我们获得了函数 f(rm) = 4.501059328052296 * rm + -5.4028009644950705, 此时loss是: 54.15457804039999\n",
      "在第804步，我们获得了函数 f(rm) = 4.502165752877136 * rm + -5.409839063374715, 此时loss是: 54.14950274953341\n",
      "在第805步，我们获得了函数 f(rm) = 4.503271911637494 * rm + -5.416875469786791, 此时loss是: 54.144429899306765\n",
      "在第806步，我们获得了函数 f(rm) = 4.50437780439735 * rm + -5.423910184138289, 此时loss是: 54.13935948854631\n",
      "在第807步，我们获得了函数 f(rm) = 4.5054834312206715 * rm + -5.430943206836104, 此时loss是: 54.13429151607895\n",
      "在第808步，我们获得了函数 f(rm) = 4.506588792171408 * rm + -5.437974538287031, 此时loss是: 54.12922598073216\n",
      "在第809步，我们获得了函数 f(rm) = 4.507693887313494 * rm + -5.445004178897768, 此时loss是: 54.12416288133392\n",
      "在第810步，我们获得了函数 f(rm) = 4.508798716710851 * rm + -5.452032129074915, 此时loss是: 54.119102216712825\n",
      "在第811步，我们获得了函数 f(rm) = 4.509903280427381 * rm + -5.4590583892249755, 此时loss是: 54.11404398569808\n",
      "在第812步，我们获得了函数 f(rm) = 4.511007578526975 * rm + -5.4660829597543525, 此时loss是: 54.108988187119365\n",
      "在第813步，我们获得了函数 f(rm) = 4.512111611073505 * rm + -5.473105841069354, 此时loss是: 54.1039348198069\n",
      "在第814步，我们获得了函数 f(rm) = 4.513215378130829 * rm + -5.480127033576189, 此时loss是: 54.09888388259158\n",
      "在第815步，我们获得了函数 f(rm) = 4.51431887976279 * rm + -5.487146537680969, 此时loss是: 54.09383537430486\n",
      "在第816步，我们获得了函数 f(rm) = 4.515422116033215 * rm + -5.494164353789708, 此时loss是: 54.08878929377856\n",
      "在第817步，我们获得了函数 f(rm) = 4.516525087005919 * rm + -5.501180482308322, 此时loss是: 54.08374563984525\n",
      "在第818步，我们获得了函数 f(rm) = 4.517627792744695 * rm + -5.5081949236426295, 此时loss是: 54.07870441133811\n",
      "在第819步，我们获得了函数 f(rm) = 4.518730233313327 * rm + -5.515207678198352, 此时loss是: 54.07366560709069\n",
      "在第820步，我们获得了函数 f(rm) = 4.519832408775579 * rm + -5.522218746381113, 此时loss是: 54.068629225937165\n",
      "在第821步，我们获得了函数 f(rm) = 4.520934319195203 * rm + -5.529228128596438, 此时loss是: 54.06359526671242\n",
      "在第822步，我们获得了函数 f(rm) = 4.5220359646359345 * rm + -5.536235825249755, 此时loss是: 54.058563728251734\n",
      "在第823步，我们获得了函数 f(rm) = 4.5231373451614925 * rm + -5.543241836746396, 此时loss是: 54.05353460939093\n",
      "在第824步，我们获得了函数 f(rm) = 4.524238460835583 * rm + -5.550246163491593, 此时loss是: 54.04850790896645\n",
      "在第825步，我们获得了函数 f(rm) = 4.525339311721895 * rm + -5.557248805890484, 此时loss是: 54.0434836258154\n",
      "在第826步，我们获得了函数 f(rm) = 4.526439897884102 * rm + -5.564249764348106, 此时loss是: 54.038461758775306\n",
      "在第827步，我们获得了函数 f(rm) = 4.527540219385864 * rm + -5.5712490392694, 此时loss是: 54.03344230668427\n",
      "在第828步，我们获得了函数 f(rm) = 4.528640276290823 * rm + -5.578246631059211, 此时loss是: 54.028425268380985\n",
      "在第829步，我们获得了函数 f(rm) = 4.529740068662609 * rm + -5.585242540122285, 此时loss是: 54.023410642704725\n",
      "在第830步，我们获得了函数 f(rm) = 4.530839596564833 * rm + -5.59223676686327, 此时loss是: 54.01839842849519\n",
      "在第831步，我们获得了函数 f(rm) = 4.531938860061095 * rm + -5.59922931168672, 此时loss是: 54.013388624592906\n",
      "在第832步，我们获得了函数 f(rm) = 4.533037859214975 * rm + -5.606220174997088, 此时loss是: 54.0083812298386\n",
      "在第833步，我们获得了函数 f(rm) = 4.53413659409004 * rm + -5.613209357198731, 此时loss是: 54.003376243073845\n",
      "在第834步，我们获得了函数 f(rm) = 4.535235064749843 * rm + -5.62019685869591, 此时loss是: 53.99837366314071\n",
      "在第835步，我们获得了函数 f(rm) = 4.53633327125792 * rm + -5.627182679892787, 此时loss是: 53.99337348888168\n",
      "在第836步，我们获得了函数 f(rm) = 4.537431213677793 * rm + -5.6341668211934275, 此时loss是: 53.98837571914\n",
      "在第837步，我们获得了函数 f(rm) = 4.538528892072966 * rm + -5.641149283001801, 此时loss是: 53.98338035275928\n",
      "在第838步，我们获得了函数 f(rm) = 4.539626306506931 * rm + -5.648130065721778, 此时loss是: 53.9783873885838\n",
      "在第839步，我们获得了函数 f(rm) = 4.540723457043163 * rm + -5.655109169757133, 此时loss是: 53.973396825458465\n",
      "在第840步，我们获得了函数 f(rm) = 4.541820343745122 * rm + -5.662086595511544, 此时loss是: 53.968408662228484\n",
      "在第841步，我们获得了函数 f(rm) = 4.542916966676253 * rm + -5.669062343388589, 此时loss是: 53.963422897739875\n",
      "在第842步，我们获得了函数 f(rm) = 4.544013325899986 * rm + -5.676036413791752, 此时loss是: 53.958439530839144\n",
      "在第843步，我们获得了函数 f(rm) = 4.545109421479734 * rm + -5.683008807124419, 此时loss是: 53.95345856037321\n",
      "在第844步，我们获得了函数 f(rm) = 4.546205253478897 * rm + -5.689979523789879, 此时loss是: 53.94847998518984\n",
      "在第845步，我们获得了函数 f(rm) = 4.547300821960858 * rm + -5.696948564191324, 此时loss是: 53.943503804136974\n",
      "在第846步，我们获得了函数 f(rm) = 4.548396126988988 * rm + -5.703915928731848, 此时loss是: 53.93853001606338\n",
      "在第847步，我们获得了函数 f(rm) = 4.549491168626638 * rm + -5.710881617814451, 此时loss是: 53.93355861981836\n",
      "在第848步，我们获得了函数 f(rm) = 4.550585946937146 * rm + -5.7178456318420325, 此时loss是: 53.92858961425161\n",
      "在第849步，我们获得了函数 f(rm) = 4.551680461983835 * rm + -5.724807971217397, 此时loss是: 53.9236229982136\n",
      "在第850步，我们获得了函数 f(rm) = 4.552774713830015 * rm + -5.7317686363432525, 此时loss是: 53.918658770555204\n",
      "在第851步，我们获得了函数 f(rm) = 4.553868702538976 * rm + -5.738727627622209, 此时loss是: 53.91369693012787\n",
      "在第852步，我们获得了函数 f(rm) = 4.5549624281739955 * rm + -5.745684945456781, 此时loss是: 53.908737475783596\n",
      "在第853步，我们获得了函数 f(rm) = 4.556055890798336 * rm + -5.752640590249385, 此时loss是: 53.903780406374906\n",
      "在第854步，我们获得了函数 f(rm) = 4.557149090475244 * rm + -5.7595945624023415, 此时loss是: 53.89882572075507\n",
      "在第855步，我们获得了函数 f(rm) = 4.558242027267951 * rm + -5.766546862317873, 此时loss是: 53.893873417777506\n",
      "在第856步，我们获得了函数 f(rm) = 4.559334701239674 * rm + -5.773497490398107, 此时loss是: 53.88892349629671\n",
      "在第857步，我们获得了函数 f(rm) = 4.560427112453613 * rm + -5.780446447045073, 此时loss是: 53.88397595516731\n",
      "在第858步，我们获得了函数 f(rm) = 4.561519260972955 * rm + -5.787393732660705, 此时loss是: 53.87903079324449\n",
      "在第859步，我们获得了函数 f(rm) = 4.5626111468608705 * rm + -5.79433934764684, 此时loss是: 53.87408800938441\n",
      "在第860步，我们获得了函数 f(rm) = 4.563702770180515 * rm + -5.801283292405217, 此时loss是: 53.86914760244342\n",
      "在第861步，我们获得了函数 f(rm) = 4.564794130995029 * rm + -5.80822556733748, 此时loss是: 53.86420957127823\n",
      "在第862步，我们获得了函数 f(rm) = 4.565885229367538 * rm + -5.815166172845176, 此时loss是: 53.85927391474668\n",
      "在第863步，我们获得了函数 f(rm) = 4.566976065361151 * rm + -5.822105109329755, 此时loss是: 53.85434063170676\n",
      "在第864步，我们获得了函数 f(rm) = 4.568066639038963 * rm + -5.829042377192571, 此时loss是: 53.849409721016904\n",
      "在第865步，我们获得了函数 f(rm) = 4.569156950464055 * rm + -5.83597797683488, 此时loss是: 53.84448118153647\n",
      "在第866步，我们获得了函数 f(rm) = 4.570246999699489 * rm + -5.842911908657845, 此时loss是: 53.839555012125146\n",
      "在第867步，我们获得了函数 f(rm) = 4.571336786808318 * rm + -5.849844173062529, 此时loss是: 53.834631211643156\n",
      "在第868步，我们获得了函数 f(rm) = 4.572426311853573 * rm + -5.856774770449899, 此时loss是: 53.82970977895131\n",
      "在第869步，我们获得了函数 f(rm) = 4.573515574898275 * rm + -5.863703701220828, 此时loss是: 53.82479071291105\n",
      "在第870步，我们获得了函数 f(rm) = 4.574604576005426 * rm + -5.870630965776091, 此时loss是: 53.81987401238416\n",
      "在第871步，我们获得了函数 f(rm) = 4.575693315238016 * rm + -5.877556564516366, 此时loss是: 53.814959676233215\n",
      "在第872步，我们获得了函数 f(rm) = 4.576781792659019 * rm + -5.884480497842236, 此时loss是: 53.81004770332115\n",
      "在第873步，我们获得了函数 f(rm) = 4.577870008331392 * rm + -5.891402766154186, 此时loss是: 53.80513809251149\n",
      "在第874步，我们获得了函数 f(rm) = 4.57895796231808 * rm + -5.898323369852605, 此时loss是: 53.800230842668455\n",
      "在第875步，我们获得了函数 f(rm) = 4.580045654682009 * rm + -5.905242309337788, 此时loss是: 53.79532595265654\n",
      "在第876步，我们获得了函数 f(rm) = 4.581133085486094 * rm + -5.912159585009931, 此时loss是: 53.790423421341\n",
      "在第877步，我们获得了函数 f(rm) = 4.582220254793232 * rm + -5.9190751972691364, 此时loss是: 53.78552324758757\n",
      "在第878步，我们获得了函数 f(rm) = 4.583307162666306 * rm + -5.925989146515408, 此时loss是: 53.780625430262575\n",
      "在第879步，我们获得了函数 f(rm) = 4.584393809168183 * rm + -5.932901433148654, 此时loss是: 53.775729968232724\n",
      "在第880步，我们获得了函数 f(rm) = 4.585480194361716 * rm + -5.939812057568687, 此时loss是: 53.77083686036544\n",
      "在第881步，我们获得了函数 f(rm) = 4.5865663183097425 * rm + -5.9467210201752225, 此时loss是: 53.765946105528755\n",
      "在第882步，我们获得了函数 f(rm) = 4.587652181075084 * rm + -5.953628321367882, 此时loss是: 53.76105770259096\n",
      "在第883步，我们获得了函数 f(rm) = 4.58873778272055 * rm + -5.960533961546188, 此时loss是: 53.75617165042113\n",
      "在第884步，我们获得了函数 f(rm) = 4.58982312330893 * rm + -5.967437941109569, 此时loss是: 53.75128794788878\n",
      "在第885步，我们获得了函数 f(rm) = 4.590908202903002 * rm + -5.974340260457358, 此时loss是: 53.746406593864094\n",
      "在第886步，我们获得了函数 f(rm) = 4.591993021565528 * rm + -5.981240919988788, 此时loss是: 53.74152758721756\n",
      "在第887步，我们获得了函数 f(rm) = 4.593077579359255 * rm + -5.988139920103001, 此时loss是: 53.73665092682054\n",
      "在第888步，我们获得了函数 f(rm) = 4.594161876346914 * rm + -5.995037261199041, 此时loss是: 53.7317766115445\n",
      "在第889步，我们获得了函数 f(rm) = 4.5952459125912215 * rm + -6.001932943675855, 此时loss是: 53.726904640261935\n",
      "在第890步，我们获得了函数 f(rm) = 4.5963296881548805 * rm + -6.008826967932294, 此时loss是: 53.72203501184553\n",
      "在第891步，我们获得了函数 f(rm) = 4.597413203100576 * rm + -6.015719334367116, 此时loss是: 53.71716772516872\n",
      "在第892步，我们获得了函数 f(rm) = 4.59849645749098 * rm + -6.02261004337898, 此时loss是: 53.71230277910534\n",
      "在第893步，我们获得了函数 f(rm) = 4.599579451388749 * rm + -6.029499095366449, 此时loss是: 53.70744017252977\n",
      "在第894步，我们获得了函数 f(rm) = 4.600662184856524 * rm + -6.0363864907279945, 此时loss是: 53.702579904316956\n",
      "在第895步，我们获得了函数 f(rm) = 4.601744657956931 * rm + -6.043272229861986, 此时loss是: 53.69772197334266\n",
      "在第896步，我们获得了函数 f(rm) = 4.602826870752581 * rm + -6.050156313166703, 此时loss是: 53.6928663784826\n",
      "在第897步，我们获得了函数 f(rm) = 4.60390882330607 * rm + -6.057038741040325, 此时loss是: 53.68801311861366\n",
      "在第898步，我们获得了函数 f(rm) = 4.60499051567998 * rm + -6.063919513880936, 此时loss是: 53.683162192612805\n",
      "在第899步，我们获得了函数 f(rm) = 4.606071947936877 * rm + -6.070798632086528, 此时loss是: 53.678313599357644\n",
      "在第900步，我们获得了函数 f(rm) = 4.60715312013931 * rm + -6.077676096054994, 此时loss是: 53.673467337726606\n",
      "在第901步，我们获得了函数 f(rm) = 4.6082340323498165 * rm + -6.0845519061841316, 此时loss是: 53.668623406598336\n",
      "在第902步，我们获得了函数 f(rm) = 4.609314684630918 * rm + -6.091426062871643, 此时loss是: 53.66378180485216\n",
      "在第903步，我们获得了函数 f(rm) = 4.610395077045118 * rm + -6.098298566515137, 此时loss是: 53.65894253136772\n",
      "在第904步，我们获得了函数 f(rm) = 4.61147520965491 * rm + -6.105169417512123, 此时loss是: 53.65410558502565\n",
      "在第905步，我们获得了函数 f(rm) = 4.612555082522768 * rm + -6.112038616260016, 此时loss是: 53.649270964706666\n",
      "在第906步，我们获得了函数 f(rm) = 4.613634695711152 * rm + -6.118906163156139, 此时loss是: 53.644438669292356\n",
      "在第907步，我们获得了函数 f(rm) = 4.61471404928251 * rm + -6.125772058597715, 此时loss是: 53.639608697664684\n",
      "在第908步，我们获得了函数 f(rm) = 4.615793143299271 * rm + -6.132636302981871, 此时loss是: 53.63478104870611\n",
      "在第909步，我们获得了函数 f(rm) = 4.616871977823851 * rm + -6.139498896705644, 此时loss是: 53.62995572129963\n",
      "在第910步，我们获得了函数 f(rm) = 4.617950552918651 * rm + -6.146359840165969, 此时loss是: 53.625132714329\n",
      "在第911步，我们获得了函数 f(rm) = 4.6190288686460566 * rm + -6.15321913375969, 此时loss是: 53.620312026678214\n",
      "在第912步，我们获得了函数 f(rm) = 4.6201069250684395 * rm + -6.160076777883555, 此时loss是: 53.615493657232065\n",
      "在第913步，我们获得了函数 f(rm) = 4.621184722248152 * rm + -6.1669327729342145, 此时loss是: 53.61067760487566\n",
      "在第914步，我们获得了函数 f(rm) = 4.622262260247538 * rm + -6.173787119308225, 此时loss是: 53.605863868494836\n",
      "在第915步，我们获得了函数 f(rm) = 4.623339539128923 * rm + -6.1806398174020485, 此时loss是: 53.60105244697571\n",
      "在第916步，我们获得了函数 f(rm) = 4.624416558954617 * rm + -6.187490867612049, 此时loss是: 53.59624333920533\n",
      "在第917步，我们获得了函数 f(rm) = 4.625493319786915 * rm + -6.194340270334498, 此时loss是: 53.59143654407081\n",
      "在第918步，我们获得了函数 f(rm) = 4.626569821688099 * rm + -6.20118802596557, 此时loss是: 53.586632060460204\n",
      "在第919步，我们获得了函数 f(rm) = 4.627646064720433 * rm + -6.208034134901346, 此时loss是: 53.58182988726188\n",
      "在第920步，我们获得了函数 f(rm) = 4.62872204894617 * rm + -6.214878597537808, 此时loss是: 53.577030023364784\n",
      "在第921步，我们获得了函数 f(rm) = 4.629797774427543 * rm + -6.221721414270848, 此时loss是: 53.572232467658324\n",
      "在第922步，我们获得了函数 f(rm) = 4.630873241226776 * rm + -6.22856258549626, 此时loss是: 53.5674372190326\n",
      "在第923步，我们获得了函数 f(rm) = 4.631948449406073 * rm + -6.235402111609741, 此时loss是: 53.5626442763782\n",
      "在第924步，我们获得了函数 f(rm) = 4.633023399027625 * rm + -6.242239993006896, 此时loss是: 53.55785363858617\n",
      "在第925步，我们获得了函数 f(rm) = 4.634098090153609 * rm + -6.249076230083233, 此时loss是: 53.55306530454817\n",
      "在第926步，我们获得了函数 f(rm) = 4.635172522846185 * rm + -6.255910823234166, 此时loss是: 53.54827927315627\n",
      "在第927步，我们获得了函数 f(rm) = 4.636246697167499 * rm + -6.262743772855014, 此时loss是: 53.54349554330329\n",
      "在第928步，我们获得了函数 f(rm) = 4.637320613179683 * rm + -6.269575079341, 此时loss是: 53.538714113882335\n",
      "在第929步，我们获得了函数 f(rm) = 4.638394270944852 * rm + -6.2764047430872525, 此时loss是: 53.53393498378719\n",
      "在第930步，我们获得了函数 f(rm) = 4.639467670525109 * rm + -6.283232764488804, 此时loss是: 53.52915815191215\n",
      "在第931步，我们获得了函数 f(rm) = 4.640540811982539 * rm + -6.290059143940593, 此时loss是: 53.52438361715204\n",
      "在第932步，我们获得了函数 f(rm) = 4.641613695379212 * rm + -6.296883881837464, 此时loss是: 53.519611378402125\n",
      "在第933步，我们获得了函数 f(rm) = 4.642686320777187 * rm + -6.303706978574164, 此时loss是: 53.514841434558434\n",
      "在第934步，我们获得了函数 f(rm) = 4.643758688238505 * rm + -6.310528434545348, 此时loss是: 53.510073784517274\n",
      "在第935步，我们获得了函数 f(rm) = 4.644830797825192 * rm + -6.3173482501455736, 此时loss是: 53.50530842717559\n",
      "在第936步，我们获得了函数 f(rm) = 4.64590264959926 * rm + -6.324166425769304, 此时loss是: 53.50054536143098\n",
      "在第937步，我们获得了函数 f(rm) = 4.646974243622706 * rm + -6.33098296181091, 此时loss是: 53.495784586181216\n",
      "在第938步，我们获得了函数 f(rm) = 4.648045579957512 * rm + -6.337797858664664, 此时loss是: 53.49102610032497\n",
      "在第939步，我们获得了函数 f(rm) = 4.649116658665644 * rm + -6.344611116724746, 此时loss是: 53.486269902761315\n",
      "在第940步，我们获得了函数 f(rm) = 4.650187479809054 * rm + -6.351422736385239, 此时loss是: 53.48151599238981\n",
      "在第941步，我们获得了函数 f(rm) = 4.65125804344968 * rm + -6.358232718040135, 此时loss是: 53.47676436811056\n",
      "在第942步，我们获得了函数 f(rm) = 4.652328349649444 * rm + -6.3650410620833275, 此时loss是: 53.472015028824224\n",
      "在第943步，我们获得了函数 f(rm) = 4.653398398470254 * rm + -6.371847768908617, 此时loss是: 53.46726797343204\n",
      "在第944步，我们获得了函数 f(rm) = 4.6544681899740015 * rm + -6.378652838909708, 此时loss是: 53.462523200835584\n",
      "在第945步，我们获得了函数 f(rm) = 4.655537724222564 * rm + -6.385456272480212, 此时loss是: 53.45778070993724\n",
      "在第946步，我们获得了函数 f(rm) = 4.6566070012778065 * rm + -6.3922580700136455, 此时loss是: 53.45304049963965\n",
      "在第947步，我们获得了函数 f(rm) = 4.657676021201574 * rm + -6.39905823190343, 此时loss是: 53.44830256884619\n",
      "在第948步，我们获得了函数 f(rm) = 4.658744784055701 * rm + -6.4058567585428925, 此时loss是: 53.44356691646051\n",
      "在第949步，我们获得了函数 f(rm) = 4.659813289902004 * rm + -6.412653650325265, 此时loss是: 53.43883354138719\n",
      "在第950步，我们获得了函数 f(rm) = 4.660881538802289 * rm + -6.419448907643686, 此时loss是: 53.434102442530985\n",
      "在第951步，我们获得了函数 f(rm) = 4.661949530818342 * rm + -6.426242530891197, 此时loss是: 53.42937361879731\n",
      "在第952步，我们获得了函数 f(rm) = 4.663017266011939 * rm + -6.433034520460748, 此时loss是: 53.42464706909203\n",
      "在第953步，我们获得了函数 f(rm) = 4.6640847444448355 * rm + -6.439824876745194, 此时loss是: 53.419922792321664\n",
      "在第954步，我们获得了函数 f(rm) = 4.665151966178778 * rm + -6.446613600137294, 此时loss是: 53.41520078739319\n",
      "在第955步，我们获得了函数 f(rm) = 4.666218931275493 * rm + -6.453400691029713, 此时loss是: 53.41048105321401\n",
      "在第956步，我们获得了函数 f(rm) = 4.667285639796697 * rm + -6.460186149815022, 此时loss是: 53.40576358869228\n",
      "在第957步，我们获得了函数 f(rm) = 4.668352091804088 * rm + -6.466969976885697, 此时loss是: 53.401048392736534\n",
      "在第958步，我们获得了函数 f(rm) = 4.669418287359351 * rm + -6.473752172634121, 此时loss是: 53.396335464255706\n",
      "在第959步，我们获得了函数 f(rm) = 4.670484226524155 * rm + -6.480532737452582, 此时loss是: 53.39162480215956\n",
      "在第960步，我们获得了函数 f(rm) = 4.671549909360156 * rm + -6.487311671733273, 此时loss是: 53.386916405358186\n",
      "在第961步，我们获得了函数 f(rm) = 4.6726153359289935 * rm + -6.4940889758682925, 此时loss是: 53.38221027276218\n",
      "在第962步，我们获得了函数 f(rm) = 4.673680506292292 * rm + -6.500864650249646, 此时loss是: 53.37750640328279\n",
      "在第963步，我们获得了函数 f(rm) = 4.674745420511662 * rm + -6.507638695269244, 此时loss是: 53.3728047958316\n",
      "在第964步，我们获得了函数 f(rm) = 4.6758100786486985 * rm + -6.5144111113189025, 此时loss是: 53.368105449321\n",
      "在第965步，我们获得了函数 f(rm) = 4.676874480764983 * rm + -6.521181898790344, 此时loss是: 53.363408362663534\n",
      "在第966步，我们获得了函数 f(rm) = 4.6779386269220815 * rm + -6.527951058075196, 此时loss是: 53.35871353477267\n",
      "在第967步，我们获得了函数 f(rm) = 4.679002517181545 * rm + -6.534718589564992, 此时loss是: 53.35402096456205\n",
      "在第968步，我们获得了函数 f(rm) = 4.68006615160491 * rm + -6.541484493651172, 此时loss是: 53.349330650945994\n",
      "在第969步，我们获得了函数 f(rm) = 4.681129530253697 * rm + -6.548248770725081, 此时loss是: 53.34464259283939\n",
      "在第970步，我们获得了函数 f(rm) = 4.682192653189413 * rm + -6.555011421177971, 此时loss是: 53.339956789157654\n",
      "在第971步，我们获得了函数 f(rm) = 4.683255520473551 * rm + -6.561772445400999, 此时loss是: 53.33527323881651\n",
      "在第972步，我们获得了函数 f(rm) = 4.684318132167587 * rm + -6.5685318437852285, 此时loss是: 53.330591940732475\n",
      "在第973步，我们获得了函数 f(rm) = 4.685380488332984 * rm + -6.575289616721628, 此时loss是: 53.32591289382247\n",
      "在第974步，我们获得了函数 f(rm) = 4.686442589031189 * rm + -6.582045764601073, 此时loss是: 53.3212360970038\n",
      "在第975步，我们获得了函数 f(rm) = 4.687504434323635 * rm + -6.588800287814344, 此时loss是: 53.316561549194546\n",
      "在第976步，我们获得了函数 f(rm) = 4.68856602427174 * rm + -6.595553186752129, 此时loss是: 53.31188924931317\n",
      "在第977步，我们获得了函数 f(rm) = 4.689627358936907 * rm + -6.602304461805021, 此时loss是: 53.307219196278716\n",
      "在第978步，我们获得了函数 f(rm) = 4.6906884383805245 * rm + -6.609054113363519, 此时loss是: 53.30255138901063\n",
      "在第979步，我们获得了函数 f(rm) = 4.691749262663967 * rm + -6.615802141818028, 此时loss是: 53.297885826428946\n",
      "在第980步，我们获得了函数 f(rm) = 4.692809831848592 * rm + -6.622548547558861, 此时loss是: 53.293222507454274\n",
      "在第981步，我们获得了函数 f(rm) = 4.693870145995746 * rm + -6.629293330976234, 此时loss是: 53.28856143100763\n",
      "在第982步，我们获得了函数 f(rm) = 4.694930205166756 * rm + -6.6360364924602715, 此时loss是: 53.28390259601071\n",
      "在第983步，我们获得了函数 f(rm) = 4.695990009422937 * rm + -6.6427780324010035, 此时loss是: 53.279246001385616\n",
      "在第984步，我们获得了函数 f(rm) = 4.69704955882559 * rm + -6.649517951188366, 此时loss是: 53.2745916460549\n",
      "在第985步，我们获得了函数 f(rm) = 4.698108853436 * rm + -6.656256249212201, 此时loss是: 53.269939528941805\n",
      "在第986步，我们获得了函数 f(rm) = 4.699167893315438 * rm + -6.662992926862258, 此时loss是: 53.26528964896986\n",
      "在第987步，我们获得了函数 f(rm) = 4.700226678525158 * rm + -6.669727984528191, 此时loss是: 53.26064200506344\n",
      "在第988步，我们获得了函数 f(rm) = 4.701285209126402 * rm + -6.676461422599563, 此时loss是: 53.2559965961471\n",
      "在第989步，我们获得了函数 f(rm) = 4.702343485180396 * rm + -6.68319324146584, 此时loss是: 53.2513534211461\n",
      "在第990步，我们获得了函数 f(rm) = 4.703401506748352 * rm + -6.689923441516397, 此时loss是: 53.246712478986325\n",
      "在第991步，我们获得了函数 f(rm) = 4.704459273891468 * rm + -6.696652023140513, 此时loss是: 53.24207376859382\n",
      "在第992步，我们获得了函数 f(rm) = 4.705516786670923 * rm + -6.703378986727375, 此时loss是: 53.237437288895485\n",
      "在第993步，我们获得了函数 f(rm) = 4.706574045147887 * rm + -6.710104332666077, 此时loss是: 53.23280303881853\n",
      "在第994步，我们获得了函数 f(rm) = 4.707631049383512 * rm + -6.716828061345618, 此时loss是: 53.22817101729081\n",
      "在第995步，我们获得了函数 f(rm) = 4.708687799438935 * rm + -6.723550173154903, 此时loss是: 53.223541223240744\n",
      "在第996步，我们获得了函数 f(rm) = 4.709744295375281 * rm + -6.730270668482746, 此时loss是: 53.218913655596936\n",
      "在第997步，我们获得了函数 f(rm) = 4.710800537253657 * rm + -6.736989547717864, 此时loss是: 53.2142883132889\n",
      "在第998步，我们获得了函数 f(rm) = 4.7118565251351585 * rm + -6.7437068112488845, 此时loss是: 53.209665195246444\n",
      "在第999步，我们获得了函数 f(rm) = 4.712912259080864 * rm + -6.750422459464339, 此时loss是: 53.20504430039995\n",
      "在第1000步，我们获得了函数 f(rm) = 4.713967739151837 * rm + -6.757136492752665, 此时loss是: 53.20042562768047\n",
      "在第1001步，我们获得了函数 f(rm) = 4.715022965409129 * rm + -6.76384891150221, 此时loss是: 53.195809176019154\n",
      "在第1002步，我们获得了函数 f(rm) = 4.716077937913774 * rm + -6.770559716101224, 此时loss是: 53.19119494434804\n",
      "在第1003步，我们获得了函数 f(rm) = 4.717132656726792 * rm + -6.7772689069378655, 此时loss是: 53.18658293159961\n",
      "在第1004步，我们获得了函数 f(rm) = 4.718187121909191 * rm + -6.7839764844002, 此时loss是: 53.18197313670676\n",
      "在第1005步，我们获得了函数 f(rm) = 4.71924133352196 * rm + -6.790682448876199, 此时loss是: 53.17736555860294\n",
      "在第1006步，我们获得了函数 f(rm) = 4.720295291626076 * rm + -6.797386800753741, 此时loss是: 53.172760196222164\n",
      "在第1007步，我们获得了函数 f(rm) = 4.721348996282502 * rm + -6.804089540420612, 此时loss是: 53.16815704849895\n",
      "在第1008步，我们获得了函数 f(rm) = 4.7224024475521835 * rm + -6.810790668264502, 此时loss是: 53.16355611436825\n",
      "在第1009步，我们获得了函数 f(rm) = 4.7234556454960535 * rm + -6.817490184673012, 此时loss是: 53.15895739276551\n",
      "在第1010步，我们获得了函数 f(rm) = 4.72450859017503 * rm + -6.824188090033647, 此时loss是: 53.15436088262688\n",
      "在第1011步，我们获得了函数 f(rm) = 4.725561281650016 * rm + -6.830884384733817, 此时loss是: 53.14976658288885\n",
      "在第1012步，我们获得了函数 f(rm) = 4.7266137199819 * rm + -6.837579069160844, 此时loss是: 53.14517449248839\n",
      "在第1013步，我们获得了函数 f(rm) = 4.727665905231556 * rm + -6.844272143701953, 此时loss是: 53.14058461036322\n",
      "在第1014步，我们获得了函数 f(rm) = 4.728717837459844 * rm + -6.8509636087442765, 此时loss是: 53.135996935451224\n",
      "在第1015步，我们获得了函数 f(rm) = 4.729769516727608 * rm + -6.857653464674855, 此时loss是: 53.131411466691176\n",
      "在第1016步，我们获得了函数 f(rm) = 4.730820943095678 * rm + -6.864341711880635, 此时loss是: 53.12682820302202\n",
      "在第1017步，我们获得了函数 f(rm) = 4.731872116624869 * rm + -6.87102835074847, 此时loss是: 53.122247143383426\n",
      "在第1018步，我们获得了函数 f(rm) = 4.732923037375982 * rm + -6.877713381665122, 此时loss是: 53.11766828671548\n",
      "在第1019步，我们获得了函数 f(rm) = 4.733973705409802 * rm + -6.884396805017256, 此时loss是: 53.11309163195877\n",
      "在第1020步，我们获得了函数 f(rm) = 4.735024120787104 * rm + -6.891078621191449, 此时loss是: 53.10851717805452\n",
      "在第1021步，我们获得了函数 f(rm) = 4.736074283568641 * rm + -6.8977588305741815, 此时loss是: 53.10394492394425\n",
      "在第1022步，我们获得了函数 f(rm) = 4.737124193815157 * rm + -6.904437433551843, 此时loss是: 53.09937486857025\n",
      "在第1023步，我们获得了函数 f(rm) = 4.73817385158738 * rm + -6.911114430510729, 此时loss是: 53.09480701087503\n",
      "在第1024步，我们获得了函数 f(rm) = 4.739223256946022 * rm + -6.917789821837042, 此时loss是: 53.09024134980184\n",
      "在第1025步，我们获得了函数 f(rm) = 4.740272409951782 * rm + -6.924463607916893, 此时loss是: 53.08567788429437\n",
      "在第1026步，我们获得了函数 f(rm) = 4.741321310665344 * rm + -6.931135789136299, 此时loss是: 53.08111661329673\n",
      "在第1027步，我们获得了函数 f(rm) = 4.742369959147378 * rm + -6.937806365881184, 此时loss是: 53.076557535753736\n",
      "在第1028步，我们获得了函数 f(rm) = 4.7434183554585365 * rm + -6.94447533853738, 此时loss是: 53.072000650610384\n",
      "在第1029步，我们获得了函数 f(rm) = 4.744466499659461 * rm + -6.951142707490626, 此时loss是: 53.06744595681254\n",
      "在第1030步，我们获得了函数 f(rm) = 4.7455143918107785 * rm + -6.957808473126567, 此时loss是: 53.06289345330639\n",
      "在第1031步，我们获得了函数 f(rm) = 4.746562031973097 * rm + -6.9644726358307585, 此时loss是: 53.058343139038556\n",
      "在第1032步，我们获得了函数 f(rm) = 4.747609420207015 * rm + -6.971135195988659, 此时loss是: 53.05379501295641\n",
      "在第1033步，我们获得了函数 f(rm) = 4.748656556573113 * rm + -6.977796153985637, 此时loss是: 53.049249074007626\n",
      "在第1034步，我们获得了函数 f(rm) = 4.749703441131959 * rm + -6.984455510206969, 此时loss是: 53.04470532114035\n",
      "在第1035步，我们获得了函数 f(rm) = 4.750750073944106 * rm + -6.991113265037836, 此时loss是: 53.040163753303375\n",
      "在第1036步，我们获得了函数 f(rm) = 4.751796455070091 * rm + -6.997769418863328, 此时loss是: 53.03562436944605\n",
      "在第1037步，我们获得了函数 f(rm) = 4.7528425845704385 * rm + -7.004423972068444, 此时loss是: 53.03108716851803\n",
      "在第1038步，我们获得了函数 f(rm) = 4.753888462505657 * rm + -7.011076925038087, 此时loss是: 53.026552149469566\n",
      "在第1039步，我们获得了函数 f(rm) = 4.75493408893624 * rm + -7.017728278157071, 此时loss是: 53.02201931125142\n",
      "在第1040步，我们获得了函数 f(rm) = 4.755979463922669 * rm + -7.024378031810114, 此时loss是: 53.017488652814954\n",
      "在第1041步，我们获得了函数 f(rm) = 4.757024587525409 * rm + -7.031026186381844, 此时loss是: 53.012960173111885\n",
      "在第1042步，我们获得了函数 f(rm) = 4.7580694598049105 * rm + -7.037672742256795, 此时loss是: 53.00843387109445\n",
      "在第1043步，我们获得了函数 f(rm) = 4.759114080821609 * rm + -7.044317699819411, 此时loss是: 53.00390974571539\n",
      "在第1044步，我们获得了函数 f(rm) = 4.760158450635928 * rm + -7.05096105945404, 此时loss是: 52.99938779592814\n",
      "在第1045步，我们获得了函数 f(rm) = 4.761202569308273 * rm + -7.05760282154494, 此时loss是: 52.99486802068632\n",
      "在第1046步，我们获得了函数 f(rm) = 4.762246436899039 * rm + -7.064242986476276, 此时loss是: 52.99035041894441\n",
      "在第1047步，我们获得了函数 f(rm) = 4.763290053468602 * rm + -7.070881554632121, 此时loss是: 52.98583498965708\n",
      "在第1048步，我们获得了函数 f(rm) = 4.764333419077325 * rm + -7.077518526396454, 此时loss是: 52.981321731779545\n",
      "在第1049步，我们获得了函数 f(rm) = 4.76537653378556 * rm + -7.084153902153164, 此时loss是: 52.976810644267765\n",
      "在第1050步，我们获得了函数 f(rm) = 4.766419397653639 * rm + -7.090787682286047, 此时loss是: 52.972301726077994\n",
      "在第1051步，我们获得了函数 f(rm) = 4.767462010741883 * rm + -7.097419867178805, 此时loss是: 52.96779497616696\n",
      "在第1052步，我们获得了函数 f(rm) = 4.768504373110598 * rm + -7.104050457215049, 此时loss是: 52.963290393492116\n",
      "在第1053步，我们获得了函数 f(rm) = 4.769546484820074 * rm + -7.110679452778299, 此时loss是: 52.95878797701104\n",
      "在第1054步，我们获得了函数 f(rm) = 4.770588345930589 * rm + -7.1173068542519795, 此时loss是: 52.95428772568221\n",
      "在第1055步，我们获得了函数 f(rm) = 4.771629956502404 * rm + -7.123932662019427, 此时loss是: 52.94978963846437\n",
      "在第1056步，我们获得了函数 f(rm) = 4.772671316595767 * rm + -7.130556876463882, 此时loss是: 52.945293714316996\n",
      "在第1057步，我们获得了函数 f(rm) = 4.773712426270912 * rm + -7.137179497968496, 此时loss是: 52.940799952199505\n",
      "在第1058步，我们获得了函数 f(rm) = 4.774753285588057 * rm + -7.143800526916326, 此时loss是: 52.93630835107262\n",
      "在第1059步，我们获得了函数 f(rm) = 4.775793894607405 * rm + -7.1504199636903385, 此时loss是: 52.93181890989704\n",
      "在第1060步，我们获得了函数 f(rm) = 4.776834253389147 * rm + -7.157037808673405, 此时loss是: 52.92733162763382\n",
      "在第1061步，我们获得了函数 f(rm) = 4.777874361993457 * rm + -7.16365406224831, 此时loss是: 52.92284650324506\n",
      "在第1062步，我们获得了函数 f(rm) = 4.778914220480497 * rm + -7.170268724797741, 此时loss是: 52.91836353569294\n",
      "在第1063步，我们获得了函数 f(rm) = 4.779953828910414 * rm + -7.176881796704296, 此时loss是: 52.91388272394033\n",
      "在第1064步，我们获得了函数 f(rm) = 4.780993187343338 * rm + -7.183493278350481, 此时loss是: 52.9094040669505\n",
      "在第1065步，我们获得了函数 f(rm) = 4.782032295839387 * rm + -7.190103170118708, 此时loss是: 52.904927563687224\n",
      "在第1066步，我们获得了函数 f(rm) = 4.783071154458664 * rm + -7.1967114723913, 此时loss是: 52.90045321311487\n",
      "在第1067步，我们获得了函数 f(rm) = 4.784109763261257 * rm + -7.203318185550486, 此时loss是: 52.89598101419812\n",
      "在第1068步，我们获得了函数 f(rm) = 4.785148122307239 * rm + -7.209923309978405, 此时loss是: 52.8915109659024\n",
      "在第1069步，我们获得了函数 f(rm) = 4.786186231656672 * rm + -7.216526846057101, 此时loss是: 52.8870430671935\n",
      "在第1070步，我们获得了函数 f(rm) = 4.787224091369601 * rm + -7.223128794168528, 此时loss是: 52.882577317037594\n",
      "在第1071步，我们获得了函数 f(rm) = 4.7882617015060545 * rm + -7.2297291546945495, 此时loss是: 52.87811371440159\n",
      "在第1072步，我们获得了函数 f(rm) = 4.78929906212605 * rm + -7.236327928016935, 此时loss是: 52.87365225825272\n",
      "在第1073步，我们获得了函数 f(rm) = 4.790336173289589 * rm + -7.242925114517362, 此时loss是: 52.869192947558766\n",
      "在第1074步，我们获得了函数 f(rm) = 4.791373035056659 * rm + -7.249520714577419, 此时loss是: 52.86473578128795\n",
      "在第1075步，我们获得了函数 f(rm) = 4.792409647487233 * rm + -7.2561147285786, 此时loss是: 52.86028075840923\n",
      "在第1076步，我们获得了函数 f(rm) = 4.793446010641269 * rm + -7.262707156902309, 此时loss是: 52.85582787789179\n",
      "在第1077步，我们获得了函数 f(rm) = 4.794482124578712 * rm + -7.269297999929855, 此时loss是: 52.851377138705274\n",
      "在第1078步，我们获得了函数 f(rm) = 4.795517989359491 * rm + -7.27588725804246, 此时loss是: 52.84692853982002\n",
      "在第1079步，我们获得了函数 f(rm) = 4.7965536050435205 * rm + -7.282474931621252, 此时loss是: 52.84248208020682\n",
      "在第1080步，我们获得了函数 f(rm) = 4.797588971690703 * rm + -7.289061021047266, 此时loss是: 52.838037758836926\n",
      "在第1081步，我们获得了函数 f(rm) = 4.798624089360924 * rm + -7.295645526701449, 此时loss是: 52.8335955746821\n",
      "在第1082步，我们获得了函数 f(rm) = 4.7996589581140565 * rm + -7.3022284489646525, 此时loss是: 52.82915552671451\n",
      "在第1083步，我们获得了函数 f(rm) = 4.800693578009957 * rm + -7.308809788217638, 此时loss是: 52.82471761390691\n",
      "在第1084步，我们获得了函数 f(rm) = 4.80172794910847 * rm + -7.315389544841076, 此时loss是: 52.82028183523268\n",
      "在第1085步，我们获得了函数 f(rm) = 4.802762071469422 * rm + -7.321967719215546, 此时loss是: 52.81584818966535\n",
      "在第1086步，我们获得了函数 f(rm) = 4.80379594515263 * rm + -7.328544311721533, 此时loss是: 52.81141667617917\n",
      "在第1087步，我们获得了函数 f(rm) = 4.804829570217893 * rm + -7.335119322739434, 此时loss是: 52.806987293748946\n",
      "在第1088步，我们获得了函数 f(rm) = 4.805862946724997 * rm + -7.341692752649553, 此时loss是: 52.802560041349764\n",
      "在第1089步，我们获得了函数 f(rm) = 4.8068960747337135 * rm + -7.348264601832102, 此时loss是: 52.79813491795744\n",
      "在第1090步，我们获得了函数 f(rm) = 4.807928954303798 * rm + -7.354834870667202, 此时loss是: 52.79371192254799\n",
      "在第1091步，我们获得了函数 f(rm) = 4.808961585494995 * rm + -7.361403559534883, 此时loss是: 52.78929105409832\n",
      "在第1092步，我们获得了函数 f(rm) = 4.809993968367032 * rm + -7.367970668815083, 此时loss是: 52.78487231158547\n",
      "在第1093步，我们获得了函数 f(rm) = 4.811026102979624 * rm + -7.374536198887649, 此时loss是: 52.78045569398716\n",
      "在第1094步，我们获得了函数 f(rm) = 4.812057989392468 * rm + -7.3811001501323386, 此时loss是: 52.776041200281405\n",
      "在第1095步，我们获得了函数 f(rm) = 4.813089627665251 * rm + -7.387662522928814, 此时loss是: 52.77162882944706\n",
      "在第1096步，我们获得了函数 f(rm) = 4.8141210178576435 * rm + -7.394223317656648, 此时loss是: 52.767218580463116\n",
      "在第1097步，我们获得了函数 f(rm) = 4.815152160029301 * rm + -7.400782534695323, 此时loss是: 52.76281045230929\n",
      "在第1098步，我们获得了函数 f(rm) = 4.816183054239868 * rm + -7.40734017442423, 此时loss是: 52.75840444396564\n",
      "在第1099步，我们获得了函数 f(rm) = 4.81721370054897 * rm + -7.4138962372226676, 此时loss是: 52.754000554412784\n",
      "在第1100步，我们获得了函数 f(rm) = 4.818244099016221 * rm + -7.420450723469844, 此时loss是: 52.74959878263191\n",
      "在第1101步，我们获得了函数 f(rm) = 4.81927424970122 * rm + -7.427003633544876, 此时loss是: 52.74519912760446\n",
      "在第1102步，我们获得了函数 f(rm) = 4.820304152663552 * rm + -7.433554967826789, 此时loss是: 52.740801588312614\n",
      "在第1103步，我们获得了函数 f(rm) = 4.821333807962787 * rm + -7.440104726694519, 此时loss是: 52.73640616373895\n",
      "在第1104步，我们获得了函数 f(rm) = 4.822363215658482 * rm + -7.4466529105269075, 此时loss是: 52.7320128528665\n",
      "在第1105步，我们获得了函数 f(rm) = 4.823392375810179 * rm + -7.453199519702708, 此时loss是: 52.727621654678806\n",
      "在第1106步，我们获得了函数 f(rm) = 4.824421288477404 * rm + -7.459744554600581, 此时loss是: 52.723232568159936\n",
      "在第1107步，我们获得了函数 f(rm) = 4.825449953719671 * rm + -7.466288015599098, 此时loss是: 52.71884559229444\n",
      "在第1108步，我们获得了函数 f(rm) = 4.826478371596479 * rm + -7.472829903076736, 此时loss是: 52.714460726067195\n",
      "在第1109步，我们获得了函数 f(rm) = 4.827506542167312 * rm + -7.479370217411884, 此时loss是: 52.710077968463864\n",
      "在第1110步，我们获得了函数 f(rm) = 4.82853446549164 * rm + -7.485908958982841, 此时loss是: 52.70569731847045\n",
      "在第1111步，我们获得了函数 f(rm) = 4.82956214162892 * rm + -7.492446128167811, 此时loss是: 52.70131877507322\n",
      "在第1112步，我们获得了函数 f(rm) = 4.830589570638593 * rm + -7.498981725344909, 此时loss是: 52.69694233725933\n",
      "在第1113步，我们获得了函数 f(rm) = 4.831616752580087 * rm + -7.505515750892161, 此时loss是: 52.69256800401617\n",
      "在第1114步，我们获得了函数 f(rm) = 4.832643687512814 * rm + -7.512048205187499, 此时loss是: 52.68819577433171\n",
      "在第1115步，我们获得了函数 f(rm) = 4.8336703754961725 * rm + -7.5185790886087664, 此时loss是: 52.68382564719433\n",
      "在第1116步，我们获得了函数 f(rm) = 4.834696816589548 * rm + -7.525108401533714, 此时loss是: 52.67945762159302\n",
      "在第1117步，我们获得了函数 f(rm) = 4.835723010852311 * rm + -7.531636144340004, 此时loss是: 52.67509169651708\n",
      "在第1118步，我们获得了函数 f(rm) = 4.836748958343817 * rm + -7.538162317405204, 此时loss是: 52.67072787095644\n",
      "在第1119步，我们获得了函数 f(rm) = 4.837774659123406 * rm + -7.544686921106796, 此时loss是: 52.6663661439015\n",
      "在第1120步，我们获得了函数 f(rm) = 4.838800113250407 * rm + -7.551209955822166, 此时loss是: 52.662006514343055\n",
      "在第1121步，我们获得了函数 f(rm) = 4.839825320784135 * rm + -7.557731421928613, 此时loss是: 52.657648981272494\n",
      "在第1122步，我们获得了函数 f(rm) = 4.840850281783885 * rm + -7.564251319803344, 此时loss是: 52.65329354368165\n",
      "在第1123步，我们获得了函数 f(rm) = 4.841874996308944 * rm + -7.570769649823475, 此时loss是: 52.648940200562784\n",
      "在第1124步，我们获得了函数 f(rm) = 4.84289946441858 * rm + -7.577286412366031, 此时loss是: 52.64458895090879\n",
      "在第1125步，我们获得了函数 f(rm) = 4.843923686172053 * rm + -7.583801607807947, 此时loss是: 52.64023979371285\n",
      "在第1126步，我们获得了函数 f(rm) = 4.844947661628601 * rm + -7.590315236526068, 此时loss是: 52.635892727968724\n",
      "在第1127步，我们获得了函数 f(rm) = 4.8459713908474535 * rm + -7.596827298897147, 此时loss是: 52.631547752670755\n",
      "在第1128步，我们获得了函数 f(rm) = 4.846994873887824 * rm + -7.603337795297848, 此时loss是: 52.6272048668136\n",
      "在第1129步，我们获得了函数 f(rm) = 4.84801811080891 * rm + -7.609846726104742, 此时loss是: 52.62286406939244\n",
      "在第1130步，我们获得了函数 f(rm) = 4.849041101669899 * rm + -7.616354091694311, 此时loss是: 52.61852535940311\n",
      "在第1131步，我们获得了函数 f(rm) = 4.8500638465299595 * rm + -7.622859892442947, 此时loss是: 52.61418873584168\n",
      "在第1132步，我们获得了函数 f(rm) = 4.851086345448247 * rm + -7.629364128726952, 此时loss是: 52.609854197704855\n",
      "在第1133步，我们获得了函数 f(rm) = 4.852108598483907 * rm + -7.635866800922534, 此时loss是: 52.605521743989826\n",
      "在第1134步，我们获得了函数 f(rm) = 4.853130605696065 * rm + -7.642367909405814, 此时loss是: 52.601191373694036\n",
      "在第1135步，我们获得了函数 f(rm) = 4.8541523671438345 * rm + -7.648867454552821, 此时loss是: 52.59686308581579\n",
      "在第1136步，我们获得了函数 f(rm) = 4.855173882886317 * rm + -7.655365436739495, 此时loss是: 52.592536879353666\n",
      "在第1137步，我们获得了函数 f(rm) = 4.856195152982596 * rm + -7.661861856341684, 此时loss是: 52.588212753306635\n",
      "在第1138步，我们获得了函数 f(rm) = 4.857216177491743 * rm + -7.668356713735146, 此时loss是: 52.5838907066743\n",
      "在第1139步，我们获得了函数 f(rm) = 4.858236956472816 * rm + -7.6748500092955485, 此时loss是: 52.57957073845675\n",
      "在第1140步，我们获得了函数 f(rm) = 4.859257489984856 * rm + -7.6813417433984705, 此时loss是: 52.57525284765439\n",
      "在第1141步，我们获得了函数 f(rm) = 4.860277778086893 * rm + -7.687831916419398, 此时loss是: 52.57093703326839\n",
      "在第1142步，我们获得了函数 f(rm) = 4.86129782083794 * rm + -7.694320528733728, 此时loss是: 52.566623294300086\n",
      "在第1143步，我们获得了函数 f(rm) = 4.8623176182969985 * rm + -7.700807580716768, 此时loss是: 52.56231162975144\n",
      "在第1144步，我们获得了函数 f(rm) = 4.863337170523053 * rm + -7.707293072743734, 此时loss是: 52.55800203862496\n",
      "在第1145步，我们获得了函数 f(rm) = 4.864356477575076 * rm + -7.713777005189751, 此时loss是: 52.55369451992359\n",
      "在第1146步，我们获得了函数 f(rm) = 4.8653755395120255 * rm + -7.720259378429857, 此时loss是: 52.54938907265061\n",
      "在第1147步，我们获得了函数 f(rm) = 4.866394356392844 * rm + -7.726740192838996, 此时loss是: 52.54508569581003\n",
      "在第1148步，我们获得了函数 f(rm) = 4.86741292827646 * rm + -7.733219448792024, 此时loss是: 52.540784388406095\n",
      "在第1149步，我们获得了函数 f(rm) = 4.8684312552217905 * rm + -7.7396971466637074, 此时loss是: 52.53648514944363\n",
      "在第1150步，我们获得了函数 f(rm) = 4.869449337287736 * rm + -7.7461732868287205, 此时loss是: 52.532187977928054\n",
      "在第1151步，我们获得了函数 f(rm) = 4.870467174533181 * rm + -7.752647869661649, 此时loss是: 52.52789287286508\n",
      "在第1152步，我们获得了函数 f(rm) = 4.871484767017001 * rm + -7.759120895536988, 此时loss是: 52.52359983326105\n",
      "在第1153步，我们获得了函数 f(rm) = 4.872502114798053 * rm + -7.765592364829143, 此时loss是: 52.51930885812264\n",
      "在第1154步，我们获得了函数 f(rm) = 4.87351921793518 * rm + -7.772062277912428, 此时loss是: 52.51501994645713\n",
      "在第1155步，我们获得了函数 f(rm) = 4.874536076487215 * rm + -7.7785306351610695, 此时loss是: 52.51073309727215\n",
      "在第1156步，我们获得了函数 f(rm) = 4.87555269051297 * rm + -7.784997436949202, 此时loss是: 52.506448309575994\n",
      "在第1157步，我们获得了函数 f(rm) = 4.876569060071251 * rm + -7.79146268365087, 此时loss是: 52.50216558237722\n",
      "在第1158步，我们获得了函数 f(rm) = 4.877585185220843 * rm + -7.79792637564003, 此时loss是: 52.497884914685024\n",
      "在第1159步，我们获得了函数 f(rm) = 4.87860106602052 * rm + -7.8043885132905455, 此时loss是: 52.49360630550897\n",
      "在第1160步，我们获得了函数 f(rm) = 4.8796167025290424 * rm + -7.8108490969761935, 此时loss是: 52.489329753859124\n",
      "在第1161步，我们获得了函数 f(rm) = 4.880632094805154 * rm + -7.817308127070659, 此时loss是: 52.48505525874616\n",
      "在第1162步，我们获得了函数 f(rm) = 4.8816472429075874 * rm + -7.823765603947536, 此时loss是: 52.48078281918101\n",
      "在第1163步，我们获得了函数 f(rm) = 4.882662146895059 * rm + -7.830221527980332, 此时loss是: 52.476512434175234\n",
      "在第1164步，我们获得了函数 f(rm) = 4.88367680682627 * rm + -7.836675899542463, 此时loss是: 52.47224410274076\n",
      "在第1165步，我们获得了函数 f(rm) = 4.884691222759911 * rm + -7.843128719007255, 此时loss是: 52.46797782389017\n",
      "在第1166步，我们获得了函数 f(rm) = 4.885705394754656 * rm + -7.849579986747943, 此时loss是: 52.46371359663632\n",
      "在第1167步，我们获得了函数 f(rm) = 4.886719322869167 * rm + -7.856029703137675, 此时loss是: 52.45945141999262\n",
      "在第1168步，我们获得了函数 f(rm) = 4.887733007162089 * rm + -7.862477868549507, 此时loss是: 52.455191292972984\n",
      "在第1169步，我们获得了函数 f(rm) = 4.8887464476920535 * rm + -7.868924483356407, 此时loss是: 52.45093321459176\n",
      "在第1170步，我们获得了函数 f(rm) = 4.88975964451768 * rm + -7.875369547931252, 此时loss是: 52.44667718386392\n",
      "在第1171步，我们获得了函数 f(rm) = 4.890772597697573 * rm + -7.88181306264683, 此时loss是: 52.44242319980444\n",
      "在第1172步，我们获得了函数 f(rm) = 4.891785307290322 * rm + -7.888255027875839, 此时loss是: 52.43817126142955\n",
      "在第1173步，我们获得了函数 f(rm) = 4.892797773354502 * rm + -7.894695443990888, 此时loss是: 52.43392136775517\n",
      "在第1174步，我们获得了函数 f(rm) = 4.8938099959486765 * rm + -7.901134311364495, 此时loss是: 52.42967351779808\n",
      "在第1175步，我们获得了函数 f(rm) = 4.894821975131392 * rm + -7.90757163036909, 此时loss是: 52.42542771057561\n",
      "在第1176步，我们获得了函数 f(rm) = 4.895833710961184 * rm + -7.914007401377013, 此时loss是: 52.4211839451054\n",
      "在第1177步，我们获得了函数 f(rm) = 4.89684520349657 * rm + -7.920441624760514, 此时loss是: 52.416942220405396\n",
      "在第1178步，我们获得了函数 f(rm) = 4.897856452796056 * rm + -7.926874300891753, 此时loss是: 52.41270253549456\n",
      "在第1179步，我们获得了函数 f(rm) = 4.898867458918135 * rm + -7.933305430142802, 此时loss是: 52.40846488939172\n",
      "在第1180步，我们获得了函数 f(rm) = 4.899878221921282 * rm + -7.939735012885643, 此时loss是: 52.404229281116564\n",
      "在第1181步，我们获得了函数 f(rm) = 4.900888741863962 * rm + -7.946163049492169, 此时loss是: 52.399995709689115\n",
      "在第1182步，我们获得了函数 f(rm) = 4.901899018804625 * rm + -7.9525895403341815, 此时loss是: 52.39576417412977\n",
      "在第1183步，我们获得了函数 f(rm) = 4.9029090528017045 * rm + -7.959014485783395, 此时loss是: 52.39153467345973\n",
      "在第1184步，我们获得了函数 f(rm) = 4.903918843913623 * rm + -7.965437886211432, 此时loss是: 52.38730720670024\n",
      "在第1185步，我们获得了函数 f(rm) = 4.904928392198787 * rm + -7.971859741989829, 此时loss是: 52.38308177287333\n",
      "在第1186步，我们获得了函数 f(rm) = 4.905937697715589 * rm + -7.97828005349003, 此时loss是: 52.37885837100122\n",
      "在第1187步，我们获得了函数 f(rm) = 4.90694676052241 * rm + -7.984698821083392, 此时loss是: 52.374637000107015\n",
      "在第1188步，我们获得了函数 f(rm) = 4.907955580677613 * rm + -7.991116045141182, 此时loss是: 52.3704176592139\n",
      "在第1189步，我们获得了函数 f(rm) = 4.90896415823955 * rm + -7.997531726034577, 此时loss是: 52.36620034734573\n",
      "在第1190步，我们获得了函数 f(rm) = 4.909972493266557 * rm + -8.003945864134664, 此时loss是: 52.361985063526696\n",
      "在第1191步，我们获得了函数 f(rm) = 4.910980585816958 * rm + -8.010358459812444, 此时loss是: 52.357771806781656\n",
      "在第1192步，我们获得了函数 f(rm) = 4.911988435949062 * rm + -8.016769513438827, 此时loss是: 52.353560576135685\n",
      "在第1193步，我们获得了函数 f(rm) = 4.912996043721162 * rm + -8.023179025384632, 此时loss是: 52.34935137061456\n",
      "在第1194步，我们获得了函数 f(rm) = 4.914003409191542 * rm + -8.02958699602059, 此时loss是: 52.34514418924441\n",
      "在第1195步，我们获得了函数 f(rm) = 4.915010532418466 * rm + -8.035993425717345, 此时loss是: 52.34093903105178\n",
      "在第1196步，我们获得了函数 f(rm) = 4.916017413460188 * rm + -8.04239831484545, 此时loss是: 52.33673589506379\n",
      "在第1197步，我们获得了函数 f(rm) = 4.917024052374947 * rm + -8.048801663775368, 此时loss是: 52.33253478030803\n",
      "在第1198步，我们获得了函数 f(rm) = 4.918030449220968 * rm + -8.055203472877475, 此时loss是: 52.32833568581249\n",
      "在第1199步，我们获得了函数 f(rm) = 4.919036604056461 * rm + -8.061603742522056, 此时loss是: 52.324138610605644\n",
      "在第1200步，我们获得了函数 f(rm) = 4.920042516939623 * rm + -8.068002473079309, 此时loss是: 52.319943553716406\n",
      "在第1201步，我们获得了函数 f(rm) = 4.921048187928638 * rm + -8.07439966491934, 此时loss是: 52.315750514174276\n",
      "在第1202步，我们获得了函数 f(rm) = 4.922053617081673 * rm + -8.08079531841217, 此时loss是: 52.31155949100902\n",
      "在第1203步，我们获得了函数 f(rm) = 4.9230588044568835 * rm + -8.087189433927726, 此时loss是: 52.30737048325118\n",
      "在第1204步，我们获得了函数 f(rm) = 4.924063750112412 * rm + -8.093582011835851, 此时loss是: 52.30318348993137\n",
      "在第1205步，我们获得了函数 f(rm) = 4.925068454106382 * rm + -8.099973052506297, 此时loss是: 52.29899851008089\n",
      "在第1206步，我们获得了函数 f(rm) = 4.926072916496909 * rm + -8.106362556308726, 此时loss是: 52.29481554273173\n",
      "在第1207步，我们获得了函数 f(rm) = 4.927077137342092 * rm + -8.112750523612712, 此时loss是: 52.29063458691591\n",
      "在第1208步，我们获得了函数 f(rm) = 4.928081116700015 * rm + -8.119136954787741, 此时loss是: 52.28645564166605\n",
      "在第1209步，我们获得了函数 f(rm) = 4.929084854628749 * rm + -8.12552185020321, 此时loss是: 52.28227870601545\n",
      "在第1210步，我们获得了函数 f(rm) = 4.930088351186351 * rm + -8.131905210228426, 此时loss是: 52.27810377899758\n",
      "在第1211步，我们获得了函数 f(rm) = 4.931091606430864 * rm + -8.138287035232608, 此时loss是: 52.27393085964666\n",
      "在第1212步，我们获得了函数 f(rm) = 4.932094620420319 * rm + -8.144667325584885, 此时loss是: 52.2697599469971\n",
      "在第1213步，我们获得了函数 f(rm) = 4.933097393212728 * rm + -8.151046081654298, 此时loss是: 52.26559104008408\n",
      "在第1214步，我们获得了函数 f(rm) = 4.934099924866095 * rm + -8.157423303809802, 此时loss是: 52.26142413794279\n",
      "在第1215步，我们获得了函数 f(rm) = 4.935102215438405 * rm + -8.163798992420258, 此时loss是: 52.25725923960943\n",
      "在第1216步，我们获得了函数 f(rm) = 4.936104264987633 * rm + -8.170173147854442, 此时loss是: 52.25309634412019\n",
      "在第1217步，我们获得了函数 f(rm) = 4.937106073571737 * rm + -8.17654577048104, 此时loss是: 52.24893545051212\n",
      "在第1218步，我们获得了函数 f(rm) = 4.938107641248664 * rm + -8.182916860668652, 此时loss是: 52.24477655782238\n",
      "在第1219步，我们获得了函数 f(rm) = 4.9391089680763445 * rm + -8.189286418785784, 此时loss是: 52.24061966508889\n",
      "在第1220步，我们获得了函数 f(rm) = 4.940110054112695 * rm + -8.195654445200859, 此时loss是: 52.23646477134975\n",
      "在第1221步，我们获得了函数 f(rm) = 4.941110899415622 * rm + -8.202020940282207, 此时loss是: 52.23231187564379\n",
      "在第1222步，我们获得了函数 f(rm) = 4.942111504043012 * rm + -8.208385904398071, 此时loss是: 52.22816097701016\n",
      "在第1223步，我们获得了函数 f(rm) = 4.9431118680527435 * rm + -8.214749337916606, 此时loss是: 52.224012074488456\n",
      "在第1224步，我们获得了函数 f(rm) = 4.944111991502677 * rm + -8.221111241205879, 此时loss是: 52.219865167118805\n",
      "在第1225步，我们获得了函数 f(rm) = 4.94511187445066 * rm + -8.227471614633869, 此时loss是: 52.215720253941754\n",
      "在第1226步，我们获得了函数 f(rm) = 4.946111516954528 * rm + -8.233830458568463, 此时loss是: 52.211577333998285\n",
      "在第1227步，我们获得了函数 f(rm) = 4.9471109190721 * rm + -8.240187773377462, 此时loss是: 52.207436406329975\n",
      "在第1228步，我们获得了函数 f(rm) = 4.948110080861182 * rm + -8.246543559428579, 此时loss是: 52.203297469978665\n",
      "在第1229步，我们获得了函数 f(rm) = 4.9491090023795685 * rm + -8.252897817089437, 此时loss是: 52.199160523986826\n",
      "在第1230步，我们获得了函数 f(rm) = 4.950107683685035 * rm + -8.259250546727573, 此时loss是: 52.19502556739725\n",
      "在第1231步，我们获得了函数 f(rm) = 4.951106124835348 * rm + -8.265601748710433, 此时loss是: 52.19089259925339\n",
      "在第1232步，我们获得了函数 f(rm) = 4.952104325888257 * rm + -8.271951423405374, 此时loss是: 52.18676161859884\n",
      "在第1233步，我们获得了函数 f(rm) = 4.953102286901499 * rm + -8.27829957117967, 此时loss是: 52.18263262447804\n",
      "在第1234步，我们获得了函数 f(rm) = 4.954100007932798 * rm + -8.284646192400501, 此时loss是: 52.17850561593556\n",
      "在第1235步，我们获得了函数 f(rm) = 4.955097489039862 * rm + -8.290991287434961, 此时loss是: 52.17438059201653\n",
      "在第1236步，我们获得了函数 f(rm) = 4.956094730280387 * rm + -8.297334856650055, 此时loss是: 52.17025755176672\n",
      "在第1237步，我们获得了函数 f(rm) = 4.957091731712052 * rm + -8.303676900412702, 此时loss是: 52.16613649423215\n",
      "在第1238步，我们获得了函数 f(rm) = 4.958088493392527 * rm + -8.310017419089728, 此时loss是: 52.16201741845927\n",
      "在第1239步，我们获得了函数 f(rm) = 4.959085015379464 * rm + -8.316356413047878, 此时loss是: 52.157900323495184\n",
      "在第1240步，我们获得了函数 f(rm) = 4.960081297730504 * rm + -8.3226938826538, 此时loss是: 52.15378520838732\n",
      "在第1241步，我们获得了函数 f(rm) = 4.961077340503271 * rm + -8.329029828274061, 此时loss是: 52.149672072183506\n",
      "在第1242步，我们获得了函数 f(rm) = 4.9620731437553784 * rm + -8.335364250275138, 此时loss是: 52.14556091393229\n",
      "在第1243步，我们获得了函数 f(rm) = 4.963068707544424 * rm + -8.341697149023418, 此时loss是: 52.14145173268241\n",
      "在第1244步，我们获得了函数 f(rm) = 4.9640640319279905 * rm + -8.3480285248852, 此时loss是: 52.13734452748301\n",
      "在第1245步，我们获得了函数 f(rm) = 4.96505911696365 * rm + -8.354358378226697, 此时loss是: 52.13323929738413\n",
      "在第1246步，我们获得了函数 f(rm) = 4.966053962708959 * rm + -8.360686709414034, 此时loss是: 52.12913604143568\n",
      "在第1247步，我们获得了函数 f(rm) = 4.967048569221459 * rm + -8.367013518813247, 此时loss是: 52.125034758688464\n",
      "在第1248步，我们获得了函数 f(rm) = 4.968042936558681 * rm + -8.373338806790281, 此时loss是: 52.12093544819362\n",
      "在第1249步，我们获得了函数 f(rm) = 4.969037064778137 * rm + -8.379662573710998, 此时loss是: 52.11683810900268\n",
      "在第1250步，我们获得了函数 f(rm) = 4.97003095393733 * rm + -8.38598481994117, 此时loss是: 52.11274274016755\n",
      "在第1251步，我们获得了函数 f(rm) = 4.971024604093748 * rm + -8.39230554584648, 此时loss是: 52.10864934074094\n",
      "在第1252步，我们获得了函数 f(rm) = 4.972018015304864 * rm + -8.398624751792523, 此时loss是: 52.104557909775615\n",
      "在第1253步，我们获得了函数 f(rm) = 4.973011187628137 * rm + -8.40494243814481, 此时loss是: 52.1004684463251\n",
      "在第1254步，我们获得了函数 f(rm) = 4.974004121121013 * rm + -8.411258605268758, 此时loss是: 52.09638094944307\n",
      "在第1255步，我们获得了函数 f(rm) = 4.974996815840924 * rm + -8.417573253529701, 此时loss是: 52.09229541818402\n",
      "在第1256步，我们获得了函数 f(rm) = 4.97598927184529 * rm + -8.423886383292883, 此时loss是: 52.088211851602594\n",
      "在第1257步，我们获得了函数 f(rm) = 4.9769814891915125 * rm + -8.43019799492346, 此时loss是: 52.084130248753986\n",
      "在第1258步，我们获得了函数 f(rm) = 4.977973467936986 * rm + -8.436508088786503, 此时loss是: 52.08005060869393\n",
      "在第1259步，我们获得了函数 f(rm) = 4.978965208139083 * rm + -8.44281666524699, 此时loss是: 52.07597293047851\n",
      "在第1260步，我们获得了函数 f(rm) = 4.97995670985517 * rm + -8.449123724669818, 此时loss是: 52.071897213164306\n",
      "在第1261步，我们获得了函数 f(rm) = 4.980947973142594 * rm + -8.455429267419788, 此时loss是: 52.067823455808394\n",
      "在第1262步，我们获得了函数 f(rm) = 4.981938998058691 * rm + -8.46173329386162, 此时loss是: 52.06375165746813\n",
      "在第1263步，我们获得了函数 f(rm) = 4.982929784660785 * rm + -8.468035804359944, 此时loss是: 52.05968181720163\n",
      "在第1264步，我们获得了函数 f(rm) = 4.983920333006181 * rm + -8.474336799279303, 此时loss是: 52.05561393406716\n",
      "在第1265步，我们获得了函数 f(rm) = 4.984910643152174 * rm + -8.480636278984152, 此时loss是: 52.05154800712349\n",
      "在第1266步，我们获得了函数 f(rm) = 4.9859007151560455 * rm + -8.486934243838856, 此时loss是: 52.047484035430095\n",
      "在第1267步，我们获得了函数 f(rm) = 4.986890549075061 * rm + -8.493230694207696, 此时loss是: 52.04342201804666\n",
      "在第1268步，我们获得了函数 f(rm) = 4.987880144966473 * rm + -8.499525630454864, 此时loss是: 52.039361954033325\n",
      "在第1269步，我们获得了函数 f(rm) = 4.988869502887521 * rm + -8.505819052944462, 此时loss是: 52.03530384245079\n",
      "在第1270步，我们获得了函数 f(rm) = 4.989858622895431 * rm + -8.51211096204051, 此时loss是: 52.03124768236019\n",
      "在第1271步，我们获得了函数 f(rm) = 4.990847505047413 * rm + -8.518401358106933, 此时loss是: 52.02719347282293\n",
      "在第1272步，我们获得了函数 f(rm) = 4.991836149400666 * rm + -8.524690241507578, 此时loss是: 52.02314121290121\n",
      "在第1273步，我们获得了函数 f(rm) = 4.992824556012373 * rm + -8.530977612606195, 此时loss是: 52.01909090165733\n",
      "在第1274步，我们获得了函数 f(rm) = 4.993812724939705 * rm + -8.537263471766453, 此时loss是: 52.015042538154226\n",
      "在第1275步，我们获得了函数 f(rm) = 4.994800656239819 * rm + -8.543547819351929, 此时loss是: 52.01099612145536\n",
      "在第1276步，我们获得了函数 f(rm) = 4.995788349969856 * rm + -8.549830655726117, 此时loss是: 52.006951650624444\n",
      "在第1277步，我们获得了函数 f(rm) = 4.996775806186946 * rm + -8.556111981252421, 此时loss是: 52.002909124725804\n",
      "在第1278步，我们获得了函数 f(rm) = 4.997763024948205 * rm + -8.562391796294158, 此时loss是: 51.99886854282408\n",
      "在第1279步，我们获得了函数 f(rm) = 4.9987500063107335 * rm + -8.568670101214556, 此时loss是: 51.99482990398442\n",
      "在第1280步，我们获得了函数 f(rm) = 4.9997367503316195 * rm + -8.574946896376758, 此时loss是: 51.99079320727251\n",
      "在第1281步，我们获得了函数 f(rm) = 5.000723257067937 * rm + -8.58122218214382, 此时loss是: 51.986758451754326\n",
      "在第1282步，我们获得了函数 f(rm) = 5.001709526576747 * rm + -8.58749595887871, 此时loss是: 51.982725636496376\n",
      "在第1283步，我们获得了函数 f(rm) = 5.002695558915096 * rm + -8.593768226944308, 此时loss是: 51.97869476056565\n",
      "在第1284步，我们获得了函数 f(rm) = 5.003681354140016 * rm + -8.600038986703405, 此时loss是: 51.97466582302963\n",
      "在第1285步，我们获得了函数 f(rm) = 5.004666912308528 * rm + -8.606308238518709, 此时loss是: 51.970638822956026\n",
      "在第1286步，我们获得了函数 f(rm) = 5.005652233477635 * rm + -8.612575982752839, 此时loss是: 51.96661375941326\n",
      "在第1287步，我们获得了函数 f(rm) = 5.006637317704331 * rm + -8.618842219768323, 此时loss是: 51.96259063146998\n",
      "在第1288步，我们获得了函数 f(rm) = 5.007622165045593 * rm + -8.62510694992761, 此时loss是: 51.958569438195376\n",
      "在第1289步，我们获得了函数 f(rm) = 5.008606775558385 * rm + -8.631370173593053, 此时loss是: 51.95455017865922\n",
      "在第1290步，我们获得了函数 f(rm) = 5.009591149299659 * rm + -8.637631891126926, 此时loss是: 51.950532851931435\n",
      "在第1291步，我们获得了函数 f(rm) = 5.010575286326351 * rm + -8.643892102891408, 此时loss是: 51.94651745708266\n",
      "在第1292步，我们获得了函数 f(rm) = 5.011559186695385 * rm + -8.650150809248599, 此时loss是: 51.94250399318394\n",
      "在第1293步，我们获得了函数 f(rm) = 5.012542850463669 * rm + -8.656408010560504, 此时loss是: 51.93849245930657\n",
      "在第1294步，我们获得了函数 f(rm) = 5.013526277688101 * rm + -8.662663707189047, 此时loss是: 51.93448285452248\n",
      "在第1295步，我们获得了函数 f(rm) = 5.014509468425562 * rm + -8.66891789949606, 此时loss是: 51.93047517790407\n",
      "在第1296步，我们获得了函数 f(rm) = 5.015492422732921 * rm + -8.675170587843294, 此时loss是: 51.92646942852399\n",
      "在第1297步，我们获得了函数 f(rm) = 5.0164751406670325 * rm + -8.681421772592406, 此时loss是: 51.92246560545552\n",
      "在第1298步，我们获得了函数 f(rm) = 5.017457622284739 * rm + -8.687671454104972, 此时loss是: 51.918463707772325\n",
      "在第1299步，我们获得了函数 f(rm) = 5.018439867642865 * rm + -8.693919632742478, 此时loss是: 51.91446373454846\n",
      "在第1300步，我们获得了函数 f(rm) = 5.019421876798227 * rm + -8.700166308866324, 此时loss是: 51.9104656848586\n",
      "在第1301步，我们获得了函数 f(rm) = 5.020403649807625 * rm + -8.706411482837822, 此时loss是: 51.90646955777757\n",
      "在第1302步，我们获得了函数 f(rm) = 5.021385186727845 * rm + -8.7126551550182, 此时loss是: 51.90247535238097\n",
      "在第1303步，我们获得了函数 f(rm) = 5.022366487615661 * rm + -8.718897325768596, 此时loss是: 51.898483067744536\n",
      "在第1304步，我们获得了函数 f(rm) = 5.02334755252783 * rm + -8.725137995450062, 此时loss是: 51.89449270294481\n",
      "在第1305步，我们获得了函数 f(rm) = 5.0243283815211 * rm + -8.731377164423563, 此时loss是: 51.890504257058375\n",
      "在第1306步，我们获得了函数 f(rm) = 5.025308974652201 * rm + -8.737614833049978, 此时loss是: 51.886517729162584\n",
      "在第1307步，我们获得了函数 f(rm) = 5.026289331977852 * rm + -8.7438510016901, 此时loss是: 51.88253311833493\n",
      "在第1308步，我们获得了函数 f(rm) = 5.027269453554758 * rm + -8.750085670704632, 此时loss是: 51.87855042365369\n",
      "在第1309步，我们获得了函数 f(rm) = 5.0282493394396095 * rm + -8.756318840454194, 此时loss是: 51.87456964419741\n",
      "在第1310步，我们获得了函数 f(rm) = 5.029228989689084 * rm + -8.762550511299317, 此时loss是: 51.87059077904491\n",
      "在第1311步，我们获得了函数 f(rm) = 5.030208404359846 * rm + -8.768780683600447, 此时loss是: 51.86661382727585\n",
      "在第1312步，我们获得了函数 f(rm) = 5.031187583508546 * rm + -8.775009357717941, 此时loss是: 51.86263878796993\n",
      "在第1313步，我们获得了函数 f(rm) = 5.032166527191819 * rm + -8.781236534012072, 此时loss是: 51.85866566020758\n",
      "在第1314步，我们获得了函数 f(rm) = 5.0331452354662884 * rm + -8.787462212843023, 此时loss是: 51.85469444306949\n",
      "在第1315步，我们获得了函数 f(rm) = 5.034123708388564 * rm + -8.793686394570893, 此时loss是: 51.850725135636914\n",
      "在第1316步，我们获得了函数 f(rm) = 5.03510194601524 * rm + -8.799909079555693, 此时loss是: 51.84675773699151\n",
      "在第1317步，我们获得了函数 f(rm) = 5.036079948402901 * rm + -8.80613026815735, 此时loss是: 51.84279224621545\n",
      "在第1318步，我们获得了函数 f(rm) = 5.037057715608114 * rm + -8.812349960735702, 此时loss是: 51.83882866239101\n",
      "在第1319步，我们获得了函数 f(rm) = 5.038035247687433 * rm + -8.818568157650502, 此时loss是: 51.83486698460137\n",
      "在第1320步，我们获得了函数 f(rm) = 5.0390125446974015 * rm + -8.824784859261413, 此时loss是: 51.83090721192982\n",
      "在第1321步，我们获得了函数 f(rm) = 5.039989606694545 * rm + -8.831000065928016, 此时loss是: 51.82694934346042\n",
      "在第1322步，我们获得了函数 f(rm) = 5.040966433735378 * rm + -8.837213778009804, 此时loss是: 51.82299337827726\n",
      "在第1323步，我们获得了函数 f(rm) = 5.041943025876402 * rm + -8.843425995866184, 此时loss是: 51.819039315465126\n",
      "在第1324步，我们获得了函数 f(rm) = 5.0429193831741035 * rm + -8.849636719856473, 此时loss是: 51.815087154109236\n",
      "在第1325步，我们获得了函数 f(rm) = 5.043895505684955 * rm + -8.855845950339907, 此时loss是: 51.811136893295156\n",
      "在第1326步，我们获得了函数 f(rm) = 5.044871393465417 * rm + -8.86205368767563, 此时loss是: 51.807188532109016\n",
      "在第1327步，我们获得了函数 f(rm) = 5.045847046571936 * rm + -8.868259932222704, 此时loss是: 51.803242069637186\n",
      "在第1328步，我们获得了函数 f(rm) = 5.046822465060943 * rm + -8.874464684340104, 此时loss是: 51.79929750496675\n",
      "在第1329步，我们获得了函数 f(rm) = 5.047797648988859 * rm + -8.880667944386719, 此时loss是: 51.79535483718491\n",
      "在第1330步，我们获得了函数 f(rm) = 5.0487725984120875 * rm + -8.886869712721348, 此时loss是: 51.79141406537958\n",
      "在第1331步，我们获得了函数 f(rm) = 5.049747313387022 * rm + -8.893069989702708, 此时loss是: 51.7874751886391\n",
      "在第1332步，我们获得了函数 f(rm) = 5.05072179397004 * rm + -8.899268775689427, 此时loss是: 51.78353820605196\n",
      "在第1333步，我们获得了函数 f(rm) = 5.051696040217506 * rm + -8.905466071040049, 此时loss是: 51.77960311670744\n",
      "在第1334步，我们获得了函数 f(rm) = 5.052670052185772 * rm + -8.91166187611303, 此时loss是: 51.7756699196951\n",
      "在第1335步，我们获得了函数 f(rm) = 5.053643829931176 * rm + -8.91785619126674, 此时loss是: 51.77173861410477\n",
      "在第1336步，我们获得了函数 f(rm) = 5.054617373510041 * rm + -8.924049016859463, 此时loss是: 51.76780919902707\n",
      "在第1337步，我们获得了函数 f(rm) = 5.055590682978677 * rm + -8.930240353249399, 此时loss是: 51.76388167355281\n",
      "在第1338步，我们获得了函数 f(rm) = 5.0565637583933825 * rm + -8.936430200794659, 此时loss是: 51.75995603677333\n",
      "在第1339步，我们获得了函数 f(rm) = 5.05753659981044 * rm + -8.942618559853269, 此时loss是: 51.75603228778039\n",
      "在第1340步，我们获得了函数 f(rm) = 5.058509207286121 * rm + -8.948805430783167, 此时loss是: 51.75211042566609\n",
      "在第1341步，我们获得了函数 f(rm) = 5.05948158087668 * rm + -8.95499081394221, 此时loss是: 51.748190449523214\n",
      "在第1342步，我们获得了函数 f(rm) = 5.06045372063836 * rm + -8.961174709688162, 此时loss是: 51.74427235844464\n",
      "在第1343步，我们获得了函数 f(rm) = 5.061425626627392 * rm + -8.967357118378708, 此时loss是: 51.740356151524026\n",
      "在第1344步，我们获得了函数 f(rm) = 5.062397298899991 * rm + -8.97353804037144, 此时loss是: 51.73644182785513\n",
      "在第1345步，我们获得了函数 f(rm) = 5.063368737512358 * rm + -8.979717476023872, 此时loss是: 51.73252938653249\n",
      "在第1346步，我们获得了函数 f(rm) = 5.064339942520684 * rm + -8.985895425693423, 此时loss是: 51.72861882665088\n",
      "在第1347步，我们获得了函数 f(rm) = 5.0653109139811425 * rm + -8.992071889737433, 此时loss是: 51.72471014730547\n",
      "在第1348步，我们获得了函数 f(rm) = 5.066281651949897 * rm + -8.998246868513155, 此时loss是: 51.720803347591996\n",
      "在第1349步，我们获得了函数 f(rm) = 5.067252156483095 * rm + -9.004420362377752, 此时loss是: 51.71689842660654\n",
      "在第1350步，我们获得了函数 f(rm) = 5.06822242763687 * rm + -9.010592371688306, 此时loss是: 51.712995383445666\n",
      "在第1351步，我们获得了函数 f(rm) = 5.069192465467345 * rm + -9.01676289680181, 此时loss是: 51.70909421720627\n",
      "在第1352步，我们获得了函数 f(rm) = 5.070162270030627 * rm + -9.022931938075173, 此时loss是: 51.705194926985904\n",
      "在第1353步，我们获得了函数 f(rm) = 5.071131841382811 * rm + -9.029099495865216, 此时loss是: 51.70129751188236\n",
      "在第1354步，我们获得了函数 f(rm) = 5.072101179579976 * rm + -9.035265570528678, 此时loss是: 51.697401970993816\n",
      "在第1355步，我们获得了函数 f(rm) = 5.073070284678191 * rm + -9.041430162422207, 此时loss是: 51.69350830341912\n",
      "在第1356步，我们获得了函数 f(rm) = 5.07403915673351 * rm + -9.04759327190237, 此时loss是: 51.689616508257394\n",
      "在第1357步，我们获得了函数 f(rm) = 5.075007795801972 * rm + -9.053754899325646, 此时loss是: 51.685726584608176\n",
      "在第1358步，我们获得了函数 f(rm) = 5.075976201939605 * rm + -9.05991504504843, 此时loss是: 51.68183853157155\n",
      "在第1359步，我们获得了函数 f(rm) = 5.076944375202422 * rm + -9.066073709427025, 此时loss是: 51.67795234824791\n",
      "在第1360步，我们获得了函数 f(rm) = 5.077912315646423 * rm + -9.072230892817657, 此时loss是: 51.67406803373805\n",
      "在第1361步，我们获得了函数 f(rm) = 5.078880023327595 * rm + -9.078386595576463, 此时loss是: 51.670185587143486\n",
      "在第1362步，我们获得了函数 f(rm) = 5.07984749830191 * rm + -9.084540818059493, 此时loss是: 51.6663050075658\n",
      "在第1363步，我们获得了函数 f(rm) = 5.080814740625328 * rm + -9.09069356062271, 此时loss是: 51.662426294107206\n",
      "在第1364步，我们获得了函数 f(rm) = 5.081781750353795 * rm + -9.096844823621998, 此时loss是: 51.65854944587041\n",
      "在第1365步，我们获得了函数 f(rm) = 5.082748527543244 * rm + -9.102994607413148, 此时loss是: 51.65467446195829\n",
      "在第1366步，我们获得了函数 f(rm) = 5.083715072249594 * rm + -9.109142912351869, 此时loss是: 51.650801341474455\n",
      "在第1367步，我们获得了函数 f(rm) = 5.08468138452875 * rm + -9.115289738793784, 此时loss是: 51.64693008352275\n",
      "在第1368步，我们获得了函数 f(rm) = 5.0856474644366045 * rm + -9.121435087094431, 此时loss是: 51.64306068720743\n",
      "在第1369步，我们获得了函数 f(rm) = 5.086613312029038 * rm + -9.127578957609263, 此时loss是: 51.639193151633314\n",
      "在第1370步，我们获得了函数 f(rm) = 5.087578927361914 * rm + -9.133721350693644, 此时loss是: 51.63532747590573\n",
      "在第1371步，我们获得了函数 f(rm) = 5.088544310491085 * rm + -9.139862266702858, 此时loss是: 51.631463659130176\n",
      "在第1372步，我们获得了函数 f(rm) = 5.08950946147239 * rm + -9.146001705992099, 此时loss是: 51.62760170041265\n",
      "在第1373步，我们获得了函数 f(rm) = 5.090474380361655 * rm + -9.152139668916476, 此时loss是: 51.623741598859795\n",
      "在第1374步，我们获得了函数 f(rm) = 5.091439067214689 * rm + -9.158276155831015, 此时loss是: 51.61988335357836\n",
      "在第1375步，我们获得了函数 f(rm) = 5.0924035220872925 * rm + -9.164411167090655, 此时loss是: 51.616026963675836\n",
      "在第1376步，我们获得了函数 f(rm) = 5.093367745035249 * rm + -9.17054470305025, 此时loss是: 51.612172428259896\n",
      "在第1377步，我们获得了函数 f(rm) = 5.094331736114331 * rm + -9.17667676406457, 此时loss是: 51.60831974643878\n",
      "在第1378步，我们获得了函数 f(rm) = 5.095295495380296 * rm + -9.182807350488298, 此时loss是: 51.604468917321135\n",
      "在第1379步，我们获得了函数 f(rm) = 5.09625902288889 * rm + -9.18893646267603, 此时loss是: 51.60061994001588\n",
      "在第1380步，我们获得了函数 f(rm) = 5.097222318695842 * rm + -9.195064100982282, 此时loss是: 51.59677281363275\n",
      "在第1381步，我们获得了函数 f(rm) = 5.098185382856871 * rm + -9.20119026576148, 此时loss是: 51.59292753728147\n",
      "在第1382步，我们获得了函数 f(rm) = 5.099148215427681 * rm + -9.207314957367968, 此时loss是: 51.589084110072456\n",
      "在第1383步，我们获得了函数 f(rm) = 5.100110816463963 * rm + -9.213438176156, 此时loss是: 51.585242531116535\n",
      "在第1384步，我们获得了函数 f(rm) = 5.101073186021396 * rm + -9.21955992247975, 此时loss是: 51.58140279952481\n",
      "在第1385步，我们获得了函数 f(rm) = 5.102035324155642 * rm + -9.225680196693304, 此时loss是: 51.57756491440885\n",
      "在第1386步，我们获得了函数 f(rm) = 5.1029972309223535 * rm + -9.231798999150666, 此时loss是: 51.57372887488087\n",
      "在第1387步，我们获得了函数 f(rm) = 5.1039589063771675 * rm + -9.23791633020575, 此时loss是: 51.56989468005327\n",
      "在第1388步，我们获得了函数 f(rm) = 5.104920350575708 * rm + -9.244032190212387, 此时loss是: 51.56606232903896\n",
      "在第1389步，我们获得了函数 f(rm) = 5.105881563573585 * rm + -9.250146579524326, 此时loss是: 51.56223182095132\n",
      "在第1390步，我们获得了函数 f(rm) = 5.106842545426398 * rm + -9.256259498495227, 此时loss是: 51.55840315490405\n",
      "在第1391步，我们获得了函数 f(rm) = 5.107803296189729 * rm + -9.262370947478665, 此时loss是: 51.55457633001138\n",
      "在第1392步，我们获得了函数 f(rm) = 5.108763815919149 * rm + -9.268480926828133, 此时loss是: 51.5507513453878\n",
      "在第1393步，我们获得了函数 f(rm) = 5.1097241046702155 * rm + -9.274589436897037, 此时loss是: 51.5469282001486\n",
      "在第1394步，我们获得了函数 f(rm) = 5.110684162498473 * rm + -9.280696478038697, 此时loss是: 51.54310689340903\n",
      "在第1395步，我们获得了函数 f(rm) = 5.111643989459451 * rm + -9.286802050606351, 此时loss是: 51.53928742428501\n",
      "在第1396步，我们获得了函数 f(rm) = 5.112603585608667 * rm + -9.292906154953148, 此时loss是: 51.53546979189291\n",
      "在第1397步，我们获得了函数 f(rm) = 5.113562951001625 * rm + -9.299008791432156, 此时loss是: 51.53165399534959\n",
      "在第1398步，我们获得了函数 f(rm) = 5.114522085693816 * rm + -9.305109960396356, 此时loss是: 51.52784003377195\n",
      "在第1399步，我们获得了函数 f(rm) = 5.115480989740715 * rm + -9.311209662198646, 此时loss是: 51.52402790627769\n",
      "在第1400步，我们获得了函数 f(rm) = 5.116439663197789 * rm + -9.317307897191835, 此时loss是: 51.52021761198487\n",
      "在第1401步，我们获得了函数 f(rm) = 5.117398106120485 * rm + -9.323404665728653, 此时loss是: 51.51640915001195\n",
      "在第1402步，我们获得了函数 f(rm) = 5.118356318564243 * rm + -9.32949996816174, 此时loss是: 51.51260251947767\n",
      "在第1403步，我们获得了函数 f(rm) = 5.1193143005844854 * rm + -9.335593804843652, 此时loss是: 51.50879771950142\n",
      "在第1404步，我们获得了函数 f(rm) = 5.120272052236623 * rm + -9.341686176126865, 此时loss是: 51.504994749202915\n",
      "在第1405步，我们获得了函数 f(rm) = 5.121229573576053 * rm + -9.347777082363766, 此时loss是: 51.50119360770217\n",
      "在第1406步，我们获得了函数 f(rm) = 5.1221868646581585 * rm + -9.353866523906657, 此时loss是: 51.49739429411985\n",
      "在第1407步，我们获得了函数 f(rm) = 5.1231439255383115 * rm + -9.359954501107755, 此时loss是: 51.49359680757689\n",
      "在第1408步，我们获得了函数 f(rm) = 5.124100756271868 * rm + -9.366041014319196, 此时loss是: 51.4898011471948\n",
      "在第1409步，我们获得了函数 f(rm) = 5.125057356914172 * rm + -9.372126063893027, 此时loss是: 51.48600731209513\n",
      "在第1410步，我们获得了函数 f(rm) = 5.126013727520554 * rm + -9.378209650181214, 此时loss是: 51.48221530140051\n",
      "在第1411步，我们获得了函数 f(rm) = 5.126969868146332 * rm + -9.384291773535635, 此时loss是: 51.478425114233254\n",
      "在第1412步，我们获得了函数 f(rm) = 5.127925778846809 * rm + -9.390372434308086, 此时loss是: 51.47463674971665\n",
      "在第1413步，我们获得了函数 f(rm) = 5.128881459677276 * rm + -9.396451632850276, 此时loss是: 51.47085020697407\n",
      "在第1414步，我们获得了函数 f(rm) = 5.12983691069301 * rm + -9.402529369513832, 此时loss是: 51.46706548512962\n",
      "在第1415步，我们获得了函数 f(rm) = 5.130792131949277 * rm + -9.408605644650295, 此时loss是: 51.46328258330755\n",
      "在第1416步，我们获得了函数 f(rm) = 5.1317471235013254 * rm + -9.414680458611123, 此时loss是: 51.45950150063267\n",
      "在第1417步，我们获得了函数 f(rm) = 5.132701885404393 * rm + -9.420753811747687, 此时loss是: 51.45572223623014\n",
      "在第1418步，我们获得了函数 f(rm) = 5.133656417713706 * rm + -9.426825704411275, 此时loss是: 51.451944789225635\n",
      "在第1419步，我们获得了函数 f(rm) = 5.134610720484473 * rm + -9.43289613695309, 此时loss是: 51.44816915874509\n",
      "在第1420步，我们获得了函数 f(rm) = 5.135564793771893 * rm + -9.43896510972425, 此时loss是: 51.44439534391508\n",
      "在第1421步，我们获得了函数 f(rm) = 5.136518637631149 * rm + -9.445032623075791, 此时loss是: 51.44062334386241\n",
      "在第1422步，我们获得了函数 f(rm) = 5.137472252117415 * rm + -9.451098677358663, 此时loss是: 51.436853157714445\n",
      "在第1423步，我们获得了函数 f(rm) = 5.138425637285845 * rm + -9.457163272923731, 此时loss是: 51.43308478459881\n",
      "在第1424步，我们获得了函数 f(rm) = 5.139378793191587 * rm + -9.463226410121775, 此时loss是: 51.429318223643676\n",
      "在第1425步，我们获得了函数 f(rm) = 5.140331719889771 * rm + -9.469288089303493, 此时loss是: 51.4255534739776\n",
      "在第1426步，我们获得了函数 f(rm) = 5.1412844174355135 * rm + -9.475348310819497, 此时loss是: 51.42179053472963\n",
      "在第1427步，我们获得了函数 f(rm) = 5.142236885883921 * rm + -9.481407075020314, 此时loss是: 51.418029405029046\n",
      "在第1428步，我们获得了函数 f(rm) = 5.1431891252900845 * rm + -9.487464382256391, 此时loss是: 51.41427008400576\n",
      "在第1429步，我们获得了函数 f(rm) = 5.144141135709083 * rm + -9.493520232878085, 此时loss是: 51.410512570789905\n",
      "在第1430步，我们获得了函数 f(rm) = 5.145092917195981 * rm + -9.499574627235672, 此时loss是: 51.40675686451221\n",
      "在第1431步，我们获得了函数 f(rm) = 5.146044469805831 * rm + -9.505627565679344, 此时loss是: 51.40300296430364\n",
      "在第1432步，我们获得了函数 f(rm) = 5.14699579359367 * rm + -9.511679048559207, 此时loss是: 51.399250869295905\n",
      "在第1433步，我们获得了函数 f(rm) = 5.147946888614525 * rm + -9.517729076225285, 此时loss是: 51.39550057862065\n",
      "在第1434步，我们获得了函数 f(rm) = 5.148897754923408 * rm + -9.523777649027515, 此时loss是: 51.391752091410275\n",
      "在第1435步，我们获得了函数 f(rm) = 5.149848392575317 * rm + -9.529824767315752, 此时loss是: 51.388005406797575\n",
      "在第1436步，我们获得了函数 f(rm) = 5.150798801625237 * rm + -9.535870431439767, 此时loss是: 51.38426052391574\n",
      "在第1437步，我们获得了函数 f(rm) = 5.151748982128143 * rm + -9.541914641749244, 此时loss是: 51.3805174418983\n",
      "在第1438步，我们获得了函数 f(rm) = 5.152698934138992 * rm + -9.547957398593788, 此时loss是: 51.37677615987913\n",
      "在第1439步，我们获得了函数 f(rm) = 5.153648657712731 * rm + -9.553998702322914, 此时loss是: 51.37303667699272\n",
      "在第1440步，我们获得了函数 f(rm) = 5.154598152904292 * rm + -9.560038553286057, 此时loss是: 51.369298992373906\n",
      "在第1441步，我们获得了函数 f(rm) = 5.155547419768595 * rm + -9.566076951832569, 此时loss是: 51.36556310515795\n",
      "在第1442步，我们获得了函数 f(rm) = 5.1564964583605475 * rm + -9.572113898311713, 此时loss是: 51.36182901448045\n",
      "在第1443步，我们获得了函数 f(rm) = 5.1574452687350405 * rm + -9.578149393072673, 此时loss是: 51.358096719477516\n",
      "在第1444步，我们获得了函数 f(rm) = 5.158393850946955 * rm + -9.584183436464546, 此时loss是: 51.35436621928558\n",
      "在第1445步，我们获得了函数 f(rm) = 5.159342205051158 * rm + -9.590216028836345, 此时loss是: 51.350637513041605\n",
      "在第1446步，我们获得了函数 f(rm) = 5.160290331102503 * rm + -9.596247170537001, 此时loss是: 51.34691059988281\n",
      "在第1447步，我们获得了函数 f(rm) = 5.161238229155829 * rm + -9.602276861915362, 此时loss是: 51.34318547894703\n",
      "在第1448步，我们获得了函数 f(rm) = 5.162185899265967 * rm + -9.608305103320188, 此时loss是: 51.33946214937239\n",
      "在第1449步，我们获得了函数 f(rm) = 5.163133341487727 * rm + -9.614331895100158, 此时loss是: 51.335740610297364\n",
      "在第1450步，我们获得了函数 f(rm) = 5.164080555875912 * rm + -9.620357237603866, 此时loss是: 51.332020860861014\n",
      "在第1451步，我们获得了函数 f(rm) = 5.165027542485308 * rm + -9.626381131179825, 此时loss是: 51.3283029002027\n",
      "在第1452步，我们获得了函数 f(rm) = 5.165974301370691 * rm + -9.63240357617646, 此时loss是: 51.324586727462176\n",
      "在第1453步，我们获得了函数 f(rm) = 5.166920832586822 * rm + -9.638424572942114, 此时loss是: 51.32087234177971\n",
      "在第1454步，我们获得了函数 f(rm) = 5.167867136188448 * rm + -9.644444121825046, 此时loss是: 51.31715974229601\n",
      "在第1455步，我们获得了函数 f(rm) = 5.168813212230306 * rm + -9.650462223173433, 此时loss是: 51.31344892815195\n",
      "在第1456步，我们获得了函数 f(rm) = 5.169759060767117 * rm + -9.656478877335367, 此时loss是: 51.309739898489006\n",
      "在第1457步，我们获得了函数 f(rm) = 5.1707046818535884 * rm + -9.662494084658855, 此时loss是: 51.30603265244916\n",
      "在第1458步，我们获得了函数 f(rm) = 5.171650075544417 * rm + -9.668507845491822, 此时loss是: 51.30232718917466\n",
      "在第1459步，我们获得了函数 f(rm) = 5.172595241894284 * rm + -9.67452016018211, 此时loss是: 51.298623507808145\n",
      "在第1460步，我们获得了函数 f(rm) = 5.173540180957861 * rm + -9.680531029077475, 此时loss是: 51.29492160749277\n",
      "在第1461步，我们获得了函数 f(rm) = 5.174484892789802 * rm + -9.686540452525591, 此时loss是: 51.29122148737191\n",
      "在第1462步，我们获得了函数 f(rm) = 5.1754293774447495 * rm + -9.692548430874048, 此时loss是: 51.2875231465897\n",
      "在第1463步，我们获得了函数 f(rm) = 5.176373634977335 * rm + -9.69855496447035, 此时loss是: 51.28382658429033\n",
      "在第1464步，我们获得了函数 f(rm) = 5.177317665442174 * rm + -9.704560053661924, 此时loss是: 51.280131799618694\n",
      "在第1465步，我们获得了函数 f(rm) = 5.1782614688938695 * rm + -9.710563698796106, 此时loss是: 51.276438791719784\n",
      "在第1466步，我们获得了函数 f(rm) = 5.179205045387014 * rm + -9.716565900220154, 此时loss是: 51.27274755973929\n",
      "在第1467步，我们获得了函数 f(rm) = 5.180148394976182 * rm + -9.722566658281238, 此时loss是: 51.26905810282319\n",
      "在第1468步，我们获得了函数 f(rm) = 5.18109151771594 * rm + -9.728565973326448, 此时loss是: 51.26537042011775\n",
      "在第1469步，我们获得了函数 f(rm) = 5.182034413660837 * rm + -9.734563845702791, 此时loss是: 51.26168451077\n",
      "在第1470步，我们获得了函数 f(rm) = 5.182977082865413 * rm + -9.740560275757186, 此时loss是: 51.25800037392691\n",
      "在第1471步，我们获得了函数 f(rm) = 5.183919525384191 * rm + -9.746555263836473, 此时loss是: 51.25431800873639\n",
      "在第1472步，我们获得了函数 f(rm) = 5.184861741271684 * rm + -9.752548810287406, 此时loss是: 51.25063741434618\n",
      "在第1473步，我们获得了函数 f(rm) = 5.185803730582388 * rm + -9.758540915456658, 此时loss是: 51.246958589904914\n",
      "在第1474步，我们获得了函数 f(rm) = 5.1867454933707915 * rm + -9.764531579690816, 此时loss是: 51.243281534561376\n",
      "在第1475步，我们获得了函数 f(rm) = 5.187687029691365 * rm + -9.770520803336385, 此时loss是: 51.23960624746488\n",
      "在第1476步，我们获得了函数 f(rm) = 5.188628339598569 * rm + -9.776508586739787, 此时loss是: 51.23593272776505\n",
      "在第1477步，我们获得了函数 f(rm) = 5.189569423146849 * rm + -9.78249493024736, 此时loss是: 51.23226097461194\n",
      "在第1478步，我们获得了函数 f(rm) = 5.190510280390637 * rm + -9.78847983420536, 此时loss是: 51.22859098715616\n",
      "在第1479步，我们获得了函数 f(rm) = 5.191450911384354 * rm + -9.794463298959958, 此时loss是: 51.2249227645485\n",
      "在第1480步，我们获得了函数 f(rm) = 5.192391316182407 * rm + -9.800445324857241, 此时loss是: 51.221256305940294\n",
      "在第1481步，我们获得了函数 f(rm) = 5.19333149483919 * rm + -9.806425912243217, 此时loss是: 51.21759161048331\n",
      "在第1482步，我们获得了函数 f(rm) = 5.194271447409082 * rm + -9.812405061463807, 此时loss是: 51.21392867732963\n",
      "在第1483步，我们获得了函数 f(rm) = 5.195211173946452 * rm + -9.81838277286485, 此时loss是: 51.21026750563175\n",
      "在第1484步，我们获得了函数 f(rm) = 5.196150674505656 * rm + -9.8243590467921, 此时loss是: 51.206608094542645\n",
      "在第1485步，我们获得了函数 f(rm) = 5.1970899491410325 * rm + -9.830333883591232, 此时loss是: 51.20295044321573\n",
      "在第1486步，我们获得了函数 f(rm) = 5.198028997906912 * rm + -9.836307283607834, 此时loss是: 51.19929455080463\n",
      "在第1487步，我们获得了函数 f(rm) = 5.198967820857609 * rm + -9.842279247187413, 此时loss是: 51.19564041646355\n",
      "在第1488步，我们获得了函数 f(rm) = 5.1999064180474255 * rm + -9.848249774675393, 此时loss是: 51.191988039347144\n",
      "在第1489步，我们获得了函数 f(rm) = 5.200844789530652 * rm + -9.854218866417114, 此时loss是: 51.18833741861027\n",
      "在第1490步，我们获得了函数 f(rm) = 5.201782935361564 * rm + -9.86018652275783, 此时loss是: 51.184688553408385\n",
      "在第1491步，我们获得了函数 f(rm) = 5.202720855594424 * rm + -9.86615274404272, 此时loss是: 51.18104144289722\n",
      "在第1492步，我们获得了函数 f(rm) = 5.203658550283483 * rm + -9.872117530616872, 此时loss是: 51.17739608623299\n",
      "在第1493步，我们获得了函数 f(rm) = 5.204596019482977 * rm + -9.878080882825294, 此时loss是: 51.17375248257233\n",
      "在第1494步，我们获得了函数 f(rm) = 5.205533263247131 * rm + -9.884042801012914, 此时loss是: 51.17011063107215\n",
      "在第1495步，我们获得了函数 f(rm) = 5.206470281630155 * rm + -9.890003285524571, 此时loss是: 51.16647053089001\n",
      "在第1496步，我们获得了函数 f(rm) = 5.207407074686247 * rm + -9.895962336705026, 此时loss是: 51.162832181183575\n",
      "在第1497步，我们获得了函数 f(rm) = 5.208343642469593 * rm + -9.901919954898954, 此时loss是: 51.159195581111106\n",
      "在第1498步，我们获得了函数 f(rm) = 5.209279985034365 * rm + -9.90787614045095, 此时loss是: 51.15556072983129\n",
      "在第1499步，我们获得了函数 f(rm) = 5.21021610243472 * rm + -9.913830893705525, 此时loss是: 51.15192762650314\n",
      "在第1500步，我们获得了函数 f(rm) = 5.211151994724805 * rm + -9.919784215007105, 此时loss是: 51.14829627028598\n",
      "在第1501步，我们获得了函数 f(rm) = 5.212087661958752 * rm + -9.925736104700036, 此时loss是: 51.144666660339794\n",
      "在第1502步，我们获得了函数 f(rm) = 5.2130231041906825 * rm + -9.93168656312858, 此时loss是: 51.14103879582474\n",
      "在第1503步，我们获得了函数 f(rm) = 5.213958321474701 * rm + -9.937635590636916, 此时loss是: 51.13741267590147\n",
      "在第1504步，我们获得了函数 f(rm) = 5.214893313864903 * rm + -9.943583187569141, 此时loss是: 51.13378829973103\n",
      "在第1505步，我们获得了函数 f(rm) = 5.215828081415368 * rm + -9.94952935426927, 此时loss是: 51.13016566647493\n",
      "在第1506步，我们获得了函数 f(rm) = 5.216762624180165 * rm + -9.955474091081232, 此时loss是: 51.12654477529494\n",
      "在第1507步，我们获得了函数 f(rm) = 5.217696942213347 * rm + -9.961417398348877, 此时loss是: 51.122925625353346\n",
      "在第1508步，我们获得了函数 f(rm) = 5.218631035568957 * rm + -9.96735927641597, 此时loss是: 51.11930821581288\n",
      "在第1509步，我们获得了函数 f(rm) = 5.2195649043010235 * rm + -9.973299725626195, 此时loss是: 51.115692545836495\n",
      "在第1510步，我们获得了函数 f(rm) = 5.220498548463562 * rm + -9.979238746323151, 此时loss是: 51.11207861458776\n",
      "在第1511步，我们获得了函数 f(rm) = 5.221431968110576 * rm + -9.985176338850358, 此时loss是: 51.108466421230474\n",
      "在第1512步，我们获得了函数 f(rm) = 5.222365163296054 * rm + -9.99111250355125, 此时loss是: 51.10485596492899\n",
      "在第1513步，我们获得了函数 f(rm) = 5.223298134073974 * rm + -9.997047240769179, 此时loss是: 51.10124724484788\n",
      "在第1514步，我们获得了函数 f(rm) = 5.224230880498298 * rm + -10.002980550847415, 此时loss是: 51.09764026015223\n",
      "在第1515步，我们获得了函数 f(rm) = 5.225163402622979 * rm + -10.008912434129146, 此时loss是: 51.09403501000761\n",
      "在第1516步，我们获得了函数 f(rm) = 5.226095700501953 * rm + -10.014842890957476, 此时loss是: 51.090431493579786\n",
      "在第1517步，我们获得了函数 f(rm) = 5.227027774189146 * rm + -10.020771921675431, 此时loss是: 51.08682971003508\n",
      "在第1518步，我们获得了函数 f(rm) = 5.227959623738471 * rm + -10.026699526625947, 此时loss是: 51.08322965854024\n",
      "在第1519步，我们获得了函数 f(rm) = 5.228891249203824 * rm + -10.032625706151883, 此时loss是: 51.079631338262224\n",
      "在第1520步，我们获得了函数 f(rm) = 5.229822650639093 * rm + -10.038550460596015, 此时loss是: 51.07603474836861\n",
      "在第1521步，我们获得了函数 f(rm) = 5.230753828098151 * rm + -10.044473790301035, 此时loss是: 51.072439888027205\n",
      "在第1522步，我们获得了函数 f(rm) = 5.231684781634857 * rm + -10.050395695609552, 此时loss是: 51.0688467564064\n",
      "在第1523步，我们获得了函数 f(rm) = 5.2326155113030595 * rm + -10.056316176864096, 此时loss是: 51.06525535267468\n",
      "在第1524步，我们获得了函数 f(rm) = 5.233546017156591 * rm + -10.06223523440711, 此时loss是: 51.06166567600135\n",
      "在第1525步，我们获得了函数 f(rm) = 5.234476299249274 * rm + -10.06815286858096, 此时loss是: 51.05807772555577\n",
      "在第1526步，我们获得了函数 f(rm) = 5.235406357634917 * rm + -10.074069079727924, 此时loss是: 51.05449150050779\n",
      "在第1527步，我们获得了函数 f(rm) = 5.236336192367314 * rm + -10.079983868190203, 此时loss是: 51.050907000027884\n",
      "在第1528步，我们获得了函数 f(rm) = 5.237265803500248 * rm + -10.085897234309911, 此时loss是: 51.04732422328641\n",
      "在第1529步，我们获得了函数 f(rm) = 5.23819519108749 * rm + -10.091809178429084, 此时loss是: 51.043743169454686\n",
      "在第1530步，我们获得了函数 f(rm) = 5.239124355182794 * rm + -10.097719700889673, 此时loss是: 51.04016383770413\n",
      "在第1531步，我们获得了函数 f(rm) = 5.240053295839905 * rm + -10.103628802033546, 此时loss是: 51.036586227206634\n",
      "在第1532步，我们获得了函数 f(rm) = 5.2409820131125535 * rm + -10.109536482202492, 此时loss是: 51.033010337134414\n",
      "在第1533步，我们获得了函数 f(rm) = 5.241910507054458 * rm + -10.115442741738214, 此时loss是: 51.02943616666017\n",
      "在第1534步，我们获得了函数 f(rm) = 5.242838777719322 * rm + -10.121347580982336, 此时loss是: 51.025863714957\n",
      "在第1535步，我们获得了函数 f(rm) = 5.243766825160837 * rm + -10.1272510002764, 此时loss是: 51.022292981198284\n",
      "在第1536步，我们获得了函数 f(rm) = 5.2446946494326845 * rm + -10.133152999961863, 此时loss是: 51.01872396455801\n",
      "在第1537步，我们获得了函数 f(rm) = 5.245622250588529 * rm + -10.139053580380104, 此时loss是: 51.01515666421031\n",
      "在第1538步，我们获得了函数 f(rm) = 5.246549628682023 * rm + -10.144952741872414, 此时loss是: 51.011591079329925\n",
      "在第1539步，我们获得了函数 f(rm) = 5.247476783766808 * rm + -10.150850484780007, 此时loss是: 51.00802720909188\n",
      "在第1540步，我们获得了函数 f(rm) = 5.248403715896512 * rm + -10.156746809444012, 此时loss是: 51.00446505267167\n",
      "在第1541步，我们获得了函数 f(rm) = 5.249330425124747 * rm + -10.16264171620548, 此时loss是: 51.000904609245126\n",
      "在第1542步，我们获得了函数 f(rm) = 5.250256911505117 * rm + -10.168535205405375, 此时loss是: 50.9973458779884\n",
      "在第1543步，我们获得了函数 f(rm) = 5.25118317509121 * rm + -10.174427277384583, 此时loss是: 50.993788858078254\n",
      "在第1544步，我们获得了函数 f(rm) = 5.252109215936602 * rm + -10.180317932483904, 此时loss是: 50.99023354869166\n",
      "在第1545步，我们获得了函数 f(rm) = 5.2530350340948555 * rm + -10.18620717104406, 此时loss是: 50.98667994900605\n",
      "在第1546步，我们获得了函数 f(rm) = 5.253960629619521 * rm + -10.19209499340569, 此时loss是: 50.98312805819931\n",
      "在第1547步，我们获得了函数 f(rm) = 5.2548860025641355 * rm + -10.197981399909347, 此时loss是: 50.97957787544955\n",
      "在第1548步，我们获得了函数 f(rm) = 5.255811152982223 * rm + -10.203866390895508, 此时loss是: 50.976029399935456\n",
      "在第1549步，我们获得了函数 f(rm) = 5.256736080927296 * rm + -10.209749966704566, 此时loss是: 50.97248263083614\n",
      "在第1550步，我们获得了函数 f(rm) = 5.257660786452852 * rm + -10.21563212767683, 此时loss是: 50.96893756733083\n",
      "在第1551步，我们获得了函数 f(rm) = 5.258585269612378 * rm + -10.221512874152532, 此时loss是: 50.965394208599434\n",
      "在第1552步，我们获得了函数 f(rm) = 5.259509530459344 * rm + -10.227392206471817, 此时loss是: 50.961852553822105\n",
      "在第1553步，我们获得了函数 f(rm) = 5.260433569047214 * rm + -10.233270124974752, 此时loss是: 50.95831260217949\n",
      "在第1554步，我们获得了函数 f(rm) = 5.261357385429432 * rm + -10.239146630001319, 此时loss是: 50.954774352852525\n",
      "在第1555步，我们获得了函数 f(rm) = 5.262280979659434 * rm + -10.245021721891419, 此时loss是: 50.95123780502262\n",
      "在第1556步，我们获得了函数 f(rm) = 5.263204351790641 * rm + -10.250895400984875, 此时loss是: 50.94770295787148\n",
      "在第1557步，我们获得了函数 f(rm) = 5.2641275018764615 * rm + -10.256767667621425, 此时loss是: 50.944169810581435\n",
      "在第1558步，我们获得了函数 f(rm) = 5.265050429970291 * rm + -10.262638522140723, 此时loss是: 50.94063836233484\n",
      "在第1559步，我们获得了函数 f(rm) = 5.265973136125512 * rm + -10.268507964882346, 此时loss是: 50.93710861231474\n",
      "在第1560步，我们获得了函数 f(rm) = 5.266895620395497 * rm + -10.274375996185787, 此时loss是: 50.93358055970446\n",
      "在第1561步，我们获得了函数 f(rm) = 5.2678178828336 * rm + -10.280242616390458, 此时loss是: 50.930054203687824\n",
      "在第1562步，我们获得了函数 f(rm) = 5.268739923493167 * rm + -10.286107825835689, 此时loss是: 50.926529543448886\n",
      "在第1563步，我们获得了函数 f(rm) = 5.26966174242753 * rm + -10.291971624860729, 此时loss是: 50.92300657817215\n",
      "在第1564步，我们获得了函数 f(rm) = 5.270583339690007 * rm + -10.297834013804744, 此时loss是: 50.91948530704255\n",
      "在第1565步，我们获得了函数 f(rm) = 5.271504715333905 * rm + -10.30369499300682, 此时loss是: 50.91596572924543\n",
      "在第1566步，我们获得了函数 f(rm) = 5.2724258694125155 * rm + -10.30955456280596, 此时loss是: 50.91244784396642\n",
      "在第1567步，我们获得了函数 f(rm) = 5.27334680197912 * rm + -10.315412723541087, 此时loss是: 50.90893165039171\n",
      "在第1568步，我们获得了函数 f(rm) = 5.274267513086985 * rm + -10.321269475551041, 此时loss是: 50.905417147707716\n",
      "在第1569步，我们获得了函数 f(rm) = 5.275188002789366 * rm + -10.327124819174584, 此时loss是: 50.90190433510136\n",
      "在第1570步，我们获得了函数 f(rm) = 5.276108271139505 * rm + -10.33297875475039, 此时loss是: 50.898393211759796\n",
      "在第1571步，我们获得了函数 f(rm) = 5.277028318190631 * rm + -10.33883128261706, 此时loss是: 50.894883776870735\n",
      "在第1572步，我们获得了函数 f(rm) = 5.2779481439959595 * rm + -10.344682403113104, 此时loss是: 50.89137602962229\n",
      "在第1573步，我们获得了函数 f(rm) = 5.278867748608695 * rm + -10.350532116576959, 此时loss是: 50.88786996920287\n",
      "在第1574步，我们获得了函数 f(rm) = 5.279787132082028 * rm + -10.356380423346975, 此时loss是: 50.88436559480123\n",
      "在第1575步，我们获得了函数 f(rm) = 5.280706294469135 * rm + -10.362227323761426, 此时loss是: 50.88086290560666\n",
      "在第1576步，我们获得了函数 f(rm) = 5.281625235823182 * rm + -10.368072818158497, 此时loss是: 50.87736190080865\n",
      "在第1577步，我们获得了函数 f(rm) = 5.282543956197323 * rm + -10.3739169068763, 此时loss是: 50.87386257959733\n",
      "在第1578步，我们获得了函数 f(rm) = 5.283462455644695 * rm + -10.37975959025286, 此时loss是: 50.87036494116307\n",
      "在第1579步，我们获得了函数 f(rm) = 5.284380734218426 * rm + -10.385600868626124, 此时loss是: 50.86686898469665\n",
      "在第1580步，我们获得了函数 f(rm) = 5.28529879197163 * rm + -10.391440742333955, 此时loss是: 50.86337470938917\n",
      "在第1581步，我们获得了函数 f(rm) = 5.2862166289574075 * rm + -10.397279211714137, 此时loss是: 50.85988211443216\n",
      "在第1582步，我们获得了函数 f(rm) = 5.287134245228848 * rm + -10.403116277104372, 此时loss是: 50.856391199017644\n",
      "在第1583步，我们获得了函数 f(rm) = 5.288051640839027 * rm + -10.408951938842279, 此时loss是: 50.852901962337974\n",
      "在第1584步，我们获得了函数 f(rm) = 5.288968815841006 * rm + -10.414786197265398, 此时loss是: 50.84941440358572\n",
      "在第1585步，我们获得了函数 f(rm) = 5.289885770287837 * rm + -10.420619052711189, 此时loss是: 50.845928521954114\n",
      "在第1586步，我们获得了函数 f(rm) = 5.290802504232556 * rm + -10.426450505517026, 此时loss是: 50.84244431663666\n",
      "在第1587步，我们获得了函数 f(rm) = 5.291719017728188 * rm + -10.43228055602021, 此时loss是: 50.838961786827184\n",
      "在第1588步，我们获得了函数 f(rm) = 5.2926353108277455 * rm + -10.438109204557952, 此时loss是: 50.83548093172003\n",
      "在第1589步，我们获得了函数 f(rm) = 5.293551383584227 * rm + -10.443936451467385, 此时loss是: 50.83200175050973\n",
      "在第1590步，我们获得了函数 f(rm) = 5.29446723605062 * rm + -10.449762297085565, 此时loss是: 50.82852424239141\n",
      "在第1591步，我们获得了函数 f(rm) = 5.295382868279898 * rm + -10.45558674174946, 此时loss是: 50.82504840656052\n",
      "在第1592步，我们获得了函数 f(rm) = 5.296298280325019 * rm + -10.461409785795965, 此时loss是: 50.82157424221283\n",
      "在第1593步，我们获得了函数 f(rm) = 5.297213472238934 * rm + -10.467231429561886, 此时loss是: 50.818101748544656\n",
      "在第1594步，我们获得了函数 f(rm) = 5.298128444074579 * rm + -10.473051673383953, 此时loss是: 50.814630924752414\n",
      "在第1595步，我们获得了函数 f(rm) = 5.299043195884876 * rm + -10.478870517598814, 此时loss是: 50.8111617700332\n",
      "在第1596步，我们获得了函数 f(rm) = 5.299957727722733 * rm + -10.484687962543035, 此时loss是: 50.807694283584304\n",
      "在第1597步，我们获得了函数 f(rm) = 5.300872039641049 * rm + -10.490504008553103, 此时loss是: 50.8042284646036\n",
      "在第1598步，我们获得了函数 f(rm) = 5.301786131692709 * rm + -10.496318655965421, 此时loss是: 50.80076431228912\n",
      "在第1599步，我们获得了函数 f(rm) = 5.302700003930584 * rm + -10.502131905116315, 此时loss是: 50.79730182583938\n",
      "在第1600步，我们获得了函数 f(rm) = 5.303613656407533 * rm + -10.507943756342026, 此时loss是: 50.79384100445339\n",
      "在第1601步，我们获得了函数 f(rm) = 5.304527089176403 * rm + -10.513754209978718, 此时loss是: 50.79038184733029\n",
      "在第1602步，我们获得了函数 f(rm) = 5.3054403022900285 * rm + -10.519563266362471, 此时loss是: 50.786924353669924\n",
      "在第1603步，我们获得了函数 f(rm) = 5.3063532958012285 * rm + -10.525370925829288, 此时loss是: 50.78346852267224\n",
      "在第1604步，我们获得了函数 f(rm) = 5.307266069762812 * rm + -10.531177188715086, 此时loss是: 50.7800143535377\n",
      "在第1605步，我们获得了函数 f(rm) = 5.308178624227575 * rm + -10.536982055355704, 此时loss是: 50.77656184546716\n",
      "在第1606步，我们获得了函数 f(rm) = 5.309090959248301 * rm + -10.542785526086902, 此时loss是: 50.77311099766184\n",
      "在第1607步，我们获得了函数 f(rm) = 5.310003074877759 * rm + -10.548587601244357, 此时loss是: 50.769661809323374\n",
      "在第1608步，我们获得了函数 f(rm) = 5.310914971168707 * rm + -10.554388281163666, 此时loss是: 50.76621427965371\n",
      "在第1609步，我们获得了函数 f(rm) = 5.31182664817389 * rm + -10.560187566180344, 此时loss是: 50.762768407855106\n",
      "在第1610步，我们获得了函数 f(rm) = 5.312738105946039 * rm + -10.565985456629827, 此时loss是: 50.75932419313061\n",
      "在第1611步，我们获得了函数 f(rm) = 5.3136493445378745 * rm + -10.57178195284747, 此时loss是: 50.755881634682986\n",
      "在第1612步，我们获得了函数 f(rm) = 5.314560364002104 * rm + -10.577577055168547, 此时loss是: 50.75244073171603\n",
      "在第1613步，我们获得了函数 f(rm) = 5.31547116439142 * rm + -10.58337076392825, 此时loss是: 50.74900148343347\n",
      "在第1614步，我们获得了函数 f(rm) = 5.316381745758505 * rm + -10.589163079461695, 此时loss是: 50.745563889039744\n",
      "在第1615步，我们获得了函数 f(rm) = 5.317292108156028 * rm + -10.594954002103911, 此时loss是: 50.74212794773944\n",
      "在第1616步，我们获得了函数 f(rm) = 5.318202251636644 * rm + -10.600743532189853, 此时loss是: 50.738693658737574\n",
      "在第1617步，我们获得了函数 f(rm) = 5.319112176252998 * rm + -10.60653167005439, 此时loss是: 50.73526102123965\n",
      "在第1618步，我们获得了函数 f(rm) = 5.320021882057719 * rm + -10.612318416032311, 此时loss是: 50.73183003445143\n",
      "在第1619步，我们获得了函数 f(rm) = 5.320931369103426 * rm + -10.618103770458328, 此时loss是: 50.72840069757912\n",
      "在第1620步，我们获得了函数 f(rm) = 5.321840637442724 * rm + -10.623887733667072, 此时loss是: 50.724973009829284\n",
      "在第1621步，我们获得了函数 f(rm) = 5.322749687128208 * rm + -10.62967030599309, 此时loss是: 50.721546970408916\n",
      "在第1622步，我们获得了函数 f(rm) = 5.323658518212454 * rm + -10.635451487770851, 此时loss是: 50.71812257852531\n",
      "在第1623步，我们获得了函数 f(rm) = 5.324567130748034 * rm + -10.641231279334745, 此时loss是: 50.714699833386284\n",
      "在第1624步，我们获得了函数 f(rm) = 5.3254755247875 * rm + -10.647009681019078, 此时loss是: 50.71127873419982\n",
      "在第1625步，我们获得了函数 f(rm) = 5.326383700383395 * rm + -10.65278669315808, 此时loss是: 50.70785928017452\n",
      "在第1626步，我们获得了函数 f(rm) = 5.3272916575882485 * rm + -10.658562316085893, 此时loss是: 50.70444147051911\n",
      "在第1627步，我们获得了函数 f(rm) = 5.328199396454578 * rm + -10.66433655013659, 此时loss是: 50.7010253044429\n",
      "在第1628步，我们获得了函数 f(rm) = 5.3291069170348875 * rm + -10.670109395644152, 此时loss是: 50.69761078115555\n",
      "在第1629步，我们获得了函数 f(rm) = 5.3300142193816695 * rm + -10.67588085294249, 此时loss是: 50.69419789986704\n",
      "在第1630步，我们获得了函数 f(rm) = 5.330921303547402 * rm + -10.681650922365426, 此时loss是: 50.690786659787726\n",
      "在第1631步，我们获得了函数 f(rm) = 5.331828169584552 * rm + -10.687419604246708, 此时loss是: 50.687377060128455\n",
      "在第1632步，我们获得了函数 f(rm) = 5.332734817545574 * rm + -10.69318689892, 此时loss是: 50.68396910010026\n",
      "在第1633步，我们获得了函数 f(rm) = 5.333641247482907 * rm + -10.698952806718887, 此时loss是: 50.680562778914734\n",
      "在第1634步，我们获得了函数 f(rm) = 5.334547459448983 * rm + -10.704717327976875, 此时loss是: 50.67715809578379\n",
      "在第1635步，我们获得了函数 f(rm) = 5.335453453496215 * rm + -10.710480463027386, 此时loss是: 50.673755049919635\n",
      "在第1636步，我们获得了函数 f(rm) = 5.336359229677008 * rm + -10.716242212203767, 此时loss是: 50.670353640535\n",
      "在第1637步，我们获得了函数 f(rm) = 5.337264788043752 * rm + -10.722002575839282, 此时loss是: 50.666953866842874\n",
      "在第1638步，我们获得了函数 f(rm) = 5.338170128648827 * rm + -10.727761554267113, 此时loss是: 50.66355572805677\n",
      "在第1639步，我们获得了函数 f(rm) = 5.339075251544596 * rm + -10.733519147820367, 此时loss是: 50.66015922339039\n",
      "在第1640步，我们获得了函数 f(rm) = 5.339980156783414 * rm + -10.739275356832067, 此时loss是: 50.656764352057884\n",
      "在第1641步，我们获得了函数 f(rm) = 5.340884844417621 * rm + -10.745030181635157, 此时loss是: 50.65337111327387\n",
      "在第1642步，我们获得了函数 f(rm) = 5.341789314499545 * rm + -10.7507836225625, 此时loss是: 50.6499795062533\n",
      "在第1643步，我们获得了函数 f(rm) = 5.3426935670815014 * rm + -10.756535679946879, 此时loss是: 50.64658953021138\n",
      "在第1644步，我们获得了函数 f(rm) = 5.343597602215792 * rm + -10.762286354120999, 此时loss是: 50.64320118436389\n",
      "在第1645步，我们获得了函数 f(rm) = 5.344501419954708 * rm + -10.768035645417482, 此时loss是: 50.639814467926854\n",
      "在第1646步，我们获得了函数 f(rm) = 5.345405020350526 * rm + -10.773783554168874, 此时loss是: 50.63642938011666\n",
      "在第1647步，我们获得了函数 f(rm) = 5.346308403455511 * rm + -10.779530080707639, 此时loss是: 50.63304592015028\n",
      "在第1648步，我们获得了函数 f(rm) = 5.3472115693219155 * rm + -10.785275225366158, 此时loss是: 50.6296640872447\n",
      "在第1649步，我们获得了函数 f(rm) = 5.348114518001982 * rm + -10.791018988476736, 此时loss是: 50.62628388061763\n",
      "在第1650步，我们获得了函数 f(rm) = 5.349017249547933 * rm + -10.796761370371598, 此时loss是: 50.62290529948693\n",
      "在第1651步，我们获得了函数 f(rm) = 5.349919764011988 * rm + -10.802502371382888, 此时loss是: 50.61952834307099\n",
      "在第1652步，我们获得了函数 f(rm) = 5.350822061446345 * rm + -10.808241991842669, 此时loss是: 50.6161530105884\n",
      "在第1653步，我们获得了函数 f(rm) = 5.351724141903197 * rm + -10.813980232082926, 此时loss是: 50.61277930125839\n",
      "在第1654步，我们获得了函数 f(rm) = 5.352626005434718 * rm + -10.819717092435564, 此时loss是: 50.609407214300354\n",
      "在第1655步，我们获得了函数 f(rm) = 5.353527652093075 * rm + -10.825452573232408, 此时loss是: 50.60603674893405\n",
      "在第1656步，我们获得了函数 f(rm) = 5.35442908193042 * rm + -10.8311866748052, 此时loss是: 50.60266790437974\n",
      "在第1657步，我们获得了函数 f(rm) = 5.3553302949988915 * rm + -10.83691939748561, 此时loss是: 50.59930067985788\n",
      "在第1658步，我们获得了函数 f(rm) = 5.356231291350615 * rm + -10.84265074160522, 此时loss是: 50.59593507458963\n",
      "在第1659步，我们获得了函数 f(rm) = 5.357132071037707 * rm + -10.848380707495537, 此时loss是: 50.59257108779611\n",
      "在第1660步，我们获得了函数 f(rm) = 5.358032634112269 * rm + -10.854109295487985, 此时loss是: 50.58920871869915\n",
      "在第1661步，我们获得了函数 f(rm) = 5.35893298062639 * rm + -10.859836505913913, 此时loss是: 50.58584796652084\n",
      "在第1662步，我们获得了函数 f(rm) = 5.359833110632147 * rm + -10.865562339104585, 此时loss是: 50.582488830483385\n",
      "在第1663步，我们获得了函数 f(rm) = 5.360733024181604 * rm + -10.871286795391189, 此时loss是: 50.57913130980989\n",
      "在第1664步，我们获得了函数 f(rm) = 5.361632721326813 * rm + -10.877009875104832, 此时loss是: 50.57577540372344\n",
      "在第1665步，我们获得了函数 f(rm) = 5.362532202119812 * rm + -10.882731578576541, 此时loss是: 50.57242111144747\n",
      "在第1666步，我们获得了函数 f(rm) = 5.363431466612629 * rm + -10.888451906137265, 此时loss是: 50.56906843220612\n",
      "在第1667步，我们获得了函数 f(rm) = 5.3643305148572775 * rm + -10.894170858117873, 此时loss是: 50.565717365223634\n",
      "在第1668步，我们获得了函数 f(rm) = 5.36522934690576 * rm + -10.899888434849153, 此时loss是: 50.56236790972469\n",
      "在第1669步，我们获得了函数 f(rm) = 5.366127962810066 * rm + -10.905604636661813, 此时loss是: 50.559020064934366\n",
      "在第1670步，我们获得了函数 f(rm) = 5.367026362622171 * rm + -10.911319463886485, 此时loss是: 50.555673830078064\n",
      "在第1671步，我们获得了函数 f(rm) = 5.367924546394039 * rm + -10.917032916853719, 此时loss是: 50.552329204381586\n",
      "在第1672步，我们获得了函数 f(rm) = 5.368822514177623 * rm + -10.922744995893984, 此时loss是: 50.548986187071094\n",
      "在第1673步，我们获得了函数 f(rm) = 5.369720266024861 * rm + -10.928455701337674, 此时loss是: 50.54564477737323\n",
      "在第1674步，我们获得了函数 f(rm) = 5.37061780198768 * rm + -10.934165033515098, 此时loss是: 50.5423049745148\n",
      "在第1675步，我们获得了函数 f(rm) = 5.371515122117994 * rm + -10.939872992756491, 此时loss是: 50.53896677772316\n",
      "在第1676步，我们获得了函数 f(rm) = 5.372412226467706 * rm + -10.945579579392005, 此时loss是: 50.53563018622598\n",
      "在第1677步，我们获得了函数 f(rm) = 5.373309115088704 * rm + -10.951284793751713, 此时loss是: 50.532295199251294\n",
      "在第1678步，我们获得了函数 f(rm) = 5.3742057880328655 * rm + -10.95698863616561, 此时loss是: 50.52896181602742\n",
      "在第1679步，我们获得了函数 f(rm) = 5.375102245352054 * rm + -10.96269110696361, 此时loss是: 50.52563003578324\n",
      "在第1680步，我们获得了函数 f(rm) = 5.375998487098122 * rm + -10.968392206475551, 此时loss是: 50.522299857747875\n",
      "在第1681步，我们获得了函数 f(rm) = 5.376894513322909 * rm + -10.974091935031186, 此时loss是: 50.51897128115083\n",
      "在第1682步，我们获得了函数 f(rm) = 5.377790324078241 * rm + -10.979790292960194, 此时loss是: 50.51564430522199\n",
      "在第1683步，我们获得了函数 f(rm) = 5.378685919415933 * rm + -10.985487280592173, 此时loss是: 50.51231892919169\n",
      "在第1684步，我们获得了函数 f(rm) = 5.3795812993877865 * rm + -10.991182898256639, 此时loss是: 50.508995152290446\n",
      "在第1685步，我们获得了函数 f(rm) = 5.380476464045592 * rm + -10.996877146283033, 此时loss是: 50.50567297374931\n",
      "在第1686步，我们获得了函数 f(rm) = 5.381371413441126 * rm + -11.002570025000717, 此时loss是: 50.50235239279965\n",
      "在第1687步，我们获得了函数 f(rm) = 5.382266147626153 * rm + -11.008261534738967, 此时loss是: 50.49903340867318\n",
      "在第1688步，我们获得了函数 f(rm) = 5.383160666652425 * rm + -11.013951675826988, 此时loss是: 50.495716020602075\n",
      "在第1689步，我们获得了函数 f(rm) = 5.3840549705716825 * rm + -11.019640448593902, 此时loss是: 50.492400227818806\n",
      "在第1690步，我们获得了函数 f(rm) = 5.384949059435652 * rm + -11.025327853368752, 此时loss是: 50.48908602955605\n",
      "在第1691步，我们获得了函数 f(rm) = 5.385842933296048 * rm + -11.031013890480502, 此时loss是: 50.48577342504729\n",
      "在第1692步，我们获得了函数 f(rm) = 5.386736592204573 * rm + -11.036698560258037, 此时loss是: 50.482462413525916\n",
      "在第1693步，我们获得了函数 f(rm) = 5.3876300362129195 * rm + -11.042381863030162, 此时loss是: 50.479152994226006\n",
      "在第1694步，我们获得了函数 f(rm) = 5.388523265372761 * rm + -11.048063799125606, 此时loss是: 50.475845166381745\n",
      "在第1695步，我们获得了函数 f(rm) = 5.389416279735766 * rm + -11.053744368873016, 此时loss是: 50.472538929228\n",
      "在第1696步，我们获得了函数 f(rm) = 5.390309079353585 * rm + -11.05942357260096, 此时loss是: 50.46923428199962\n",
      "在第1697步，我们获得了函数 f(rm) = 5.391201664277859 * rm + -11.065101410637928, 此时loss是: 50.465931223932195\n",
      "在第1698步，我们获得了函数 f(rm) = 5.392094034560216 * rm + -11.070777883312331, 此时loss是: 50.462629754261506\n",
      "在第1699步，我们获得了函数 f(rm) = 5.392986190252271 * rm + -11.076452990952502, 此时loss是: 50.45932987222362\n",
      "在第1700步，我们获得了函数 f(rm) = 5.393878131405628 * rm + -11.082126733886692, 此时loss是: 50.45603157705505\n",
      "在第1701步，我们获得了函数 f(rm) = 5.394769858071876 * rm + -11.087799112443076, 此时loss是: 50.4527348679929\n",
      "在第1702步，我们获得了函数 f(rm) = 5.395661370302594 * rm + -11.093470126949748, 此时loss是: 50.449439744274244\n",
      "在第1703步，我们获得了函数 f(rm) = 5.396552668149348 * rm + -11.099139777734726, 此时loss是: 50.44614620513668\n",
      "在第1704步，我们获得了函数 f(rm) = 5.397443751663692 * rm + -11.104808065125946, 此时loss是: 50.44285424981838\n",
      "在第1705步，我们获得了函数 f(rm) = 5.398334620897166 * rm + -11.110474989451266, 此时loss是: 50.43956387755757\n",
      "在第1706步，我们获得了函数 f(rm) = 5.399225275901299 * rm + -11.116140551038466, 此时loss是: 50.43627508759305\n",
      "在第1707步，我们获得了函数 f(rm) = 5.400115716727607 * rm + -11.121804750215247, 此时loss是: 50.43298787916384\n",
      "在第1708步，我们获得了函数 f(rm) = 5.401005943427593 * rm + -11.127467587309232, 此时loss是: 50.42970225150952\n",
      "在第1709步，我们获得了函数 f(rm) = 5.40189595605275 * rm + -11.133129062647962, 此时loss是: 50.42641820386974\n",
      "在第1710步，我们获得了函数 f(rm) = 5.402785754654557 * rm + -11.138789176558902, 此时loss是: 50.42313573548493\n",
      "在第1711步，我们获得了函数 f(rm) = 5.40367533928448 * rm + -11.144447929369438, 此时loss是: 50.419854845595346\n",
      "在第1712步，我们获得了函数 f(rm) = 5.4045647099939735 * rm + -11.150105321406876, 此时loss是: 50.416575533442206\n",
      "在第1713步，我们获得了函数 f(rm) = 5.4054538668344785 * rm + -11.155761352998445, 此时loss是: 50.41329779826654\n",
      "在第1714步，我们获得了函数 f(rm) = 5.406342809857426 * rm + -11.161416024471295, 此时loss是: 50.41002163931024\n",
      "在第1715步，我们获得了函数 f(rm) = 5.407231539114233 * rm + -11.167069336152496, 此时loss是: 50.40674705581513\n",
      "在第1716步，我们获得了函数 f(rm) = 5.408120054656303 * rm + -11.17272128836904, 此时loss是: 50.40347404702372\n",
      "在第1717步，我们获得了函数 f(rm) = 5.40900835653503 * rm + -11.178371881447841, 此时loss是: 50.400202612178674\n",
      "在第1718步，我们获得了函数 f(rm) = 5.4098964448017925 * rm + -11.184021115715735, 此时loss是: 50.3969327505232\n",
      "在第1719步，我们获得了函数 f(rm) = 5.410784319507961 * rm + -11.189668991499477, 此时loss是: 50.39366446130067\n",
      "在第1720步，我们获得了函数 f(rm) = 5.411671980704888 * rm + -11.195315509125745, 此时loss是: 50.39039774375496\n",
      "在第1721步，我们获得了函数 f(rm) = 5.412559428443918 * rm + -11.200960668921137, 此时loss是: 50.38713259713025\n",
      "在第1722步，我们获得了函数 f(rm) = 5.413446662776381 * rm + -11.206604471212176, 此时loss是: 50.383869020671156\n",
      "在第1723步，我们获得了函数 f(rm) = 5.414333683753596 * rm + -11.212246916325302, 此时loss是: 50.38060701362252\n",
      "在第1724步，我们获得了函数 f(rm) = 5.415220491426869 * rm + -11.21788800458688, 此时loss是: 50.37734657522973\n",
      "在第1725步，我们获得了函数 f(rm) = 5.416107085847493 * rm + -11.223527736323195, 此时loss是: 50.37408770473842\n",
      "在第1726步，我们获得了函数 f(rm) = 5.41699346706675 * rm + -11.229166111860453, 此时loss是: 50.37083040139454\n",
      "在第1727步，我们获得了函数 f(rm) = 5.417879635135909 * rm + -11.234803131524783, 此时loss是: 50.367574664444604\n",
      "在第1728步，我们获得了函数 f(rm) = 5.418765590106227 * rm + -11.240438795642236, 此时loss是: 50.3643204931352\n",
      "在第1729步，我们获得了函数 f(rm) = 5.419651332028947 * rm + -11.24607310453878, 此时loss是: 50.36106788671348\n",
      "在第1730步，我们获得了函数 f(rm) = 5.420536860955303 * rm + -11.25170605854031, 此时loss是: 50.357816844427006\n",
      "在第1731步，我们获得了函数 f(rm) = 5.421422176936512 * rm + -11.257337657972643, 此时loss是: 50.35456736552344\n",
      "在第1732步，我们获得了函数 f(rm) = 5.422307280023784 * rm + -11.262967903161512, 此时loss是: 50.3513194492511\n",
      "在第1733步，我们获得了函数 f(rm) = 5.423192170268313 * rm + -11.268596794432575, 此时loss是: 50.34807309485849\n",
      "在第1734步，我们获得了函数 f(rm) = 5.424076847721282 * rm + -11.274224332111414, 此时loss是: 50.344828301594546\n",
      "在第1735步，我们获得了函数 f(rm) = 5.424961312433862 * rm + -11.27985051652353, 此时loss是: 50.341585068708596\n",
      "在第1736步，我们获得了函数 f(rm) = 5.42584556445721 * rm + -11.285475347994343, 此时loss是: 50.338343395450096\n",
      "在第1737步，我们获得了函数 f(rm) = 5.426729603842472 * rm + -11.2910988268492, 此时loss是: 50.33510328106919\n",
      "在第1738步，我们获得了函数 f(rm) = 5.427613430640782 * rm + -11.296720953413368, 此时loss是: 50.331864724816185\n",
      "在第1739步，我们获得了函数 f(rm) = 5.428497044903261 * rm + -11.302341728012037, 此时loss是: 50.32862772594182\n",
      "在第1740步，我们获得了函数 f(rm) = 5.4293804466810185 * rm + -11.307961150970314, 此时loss是: 50.325392283697155\n",
      "在第1741步，我们获得了函数 f(rm) = 5.430263636025152 * rm + -11.313579222613232, 此时loss是: 50.322158397333645\n",
      "在第1742步，我们获得了函数 f(rm) = 5.431146612986743 * rm + -11.319195943265745, 此时loss是: 50.31892606610309\n",
      "在第1743步，我们获得了函数 f(rm) = 5.432029377616867 * rm + -11.324811313252729, 此时loss是: 50.315695289257654\n",
      "在第1744步，我们获得了函数 f(rm) = 5.432911929966581 * rm + -11.330425332898981, 此时loss是: 50.31246606604977\n",
      "在第1745步，我们获得了函数 f(rm) = 5.433794270086934 * rm + -11.336038002529222, 此时loss是: 50.309238395732436\n",
      "在第1746步，我们获得了函数 f(rm) = 5.4346763980289605 * rm + -11.341649322468092, 此时loss是: 50.30601227755876\n",
      "在第1747步，我们获得了函数 f(rm) = 5.435558313843685 * rm + -11.347259293040155, 此时loss是: 50.30278771078243\n",
      "在第1748步，我们获得了函数 f(rm) = 5.436440017582116 * rm + -11.352867914569895, 此时loss是: 50.2995646946574\n",
      "在第1749步，我们获得了函数 f(rm) = 5.437321509295255 * rm + -11.358475187381721, 此时loss是: 50.296343228438026\n",
      "在第1750步，我们获得了函数 f(rm) = 5.438202789034085 * rm + -11.364081111799962, 此时loss是: 50.29312331137884\n",
      "在第1751步，我们获得了函数 f(rm) = 5.439083856849582 * rm + -11.369685688148868, 此时loss是: 50.289904942734935\n",
      "在第1752步，我们获得了函数 f(rm) = 5.439964712792706 * rm + -11.375288916752615, 此时loss是: 50.28668812176168\n",
      "在第1753步，我们获得了函数 f(rm) = 5.4408453569144095 * rm + -11.380890797935294, 此时loss是: 50.28347284771492\n",
      "在第1754步，我们获得了函数 f(rm) = 5.441725789265626 * rm + -11.386491332020926, 此时loss是: 50.28025911985064\n",
      "在第1755步，我们获得了函数 f(rm) = 5.442606009897283 * rm + -11.392090519333449, 此时loss是: 50.27704693742535\n",
      "在第1756步，我们获得了函数 f(rm) = 5.443486018860292 * rm + -11.397688360196724, 此时loss是: 50.2738362996959\n",
      "在第1757步，我们获得了函数 f(rm) = 5.444365816205553 * rm + -11.403284854934537, 此时loss是: 50.270627205919425\n",
      "在第1758步，我们获得了函数 f(rm) = 5.445245401983956 * rm + -11.40888000387059, 此时loss是: 50.26741965535345\n",
      "在第1759步，我们获得了函数 f(rm) = 5.446124776246376 * rm + -11.414473807328516, 此时loss是: 50.26421364725587\n",
      "在第1760步，我们获得了函数 f(rm) = 5.447003939043675 * rm + -11.420066265631862, 此时loss是: 50.261009180884955\n",
      "在第1761步，我们获得了函数 f(rm) = 5.447882890426707 * rm + -11.4256573791041, 此时loss是: 50.25780625549929\n",
      "在第1762步，我们获得了函数 f(rm) = 5.448761630446311 * rm + -11.431247148068627, 此时loss是: 50.25460487035793\n",
      "在第1763步，我们获得了函数 f(rm) = 5.449640159153313 * rm + -11.436835572848757, 此时loss是: 50.251405024719965\n",
      "在第1764步，我们获得了函数 f(rm) = 5.450518476598528 * rm + -11.442422653767732, 此时loss是: 50.2482067178453\n",
      "在第1765步，我们获得了函数 f(rm) = 5.451396582832759 * rm + -11.448008391148711, 此时loss是: 50.24500994899382\n",
      "在第1766步，我们获得了函数 f(rm) = 5.452274477906796 * rm + -11.453592785314779, 此时loss是: 50.241814717426074\n",
      "在第1767步，我们获得了函数 f(rm) = 5.453152161871418 * rm + -11.45917583658894, 此时loss是: 50.23862102240258\n",
      "在第1768步，我们获得了函数 f(rm) = 5.45402963477739 * rm + -11.464757545294125, 此时loss是: 50.23542886318456\n",
      "在第1769步，我们获得了函数 f(rm) = 5.454906896675467 * rm + -11.470337911753182, 此时loss是: 50.23223823903345\n",
      "在第1770步，我们获得了函数 f(rm) = 5.455783947616388 * rm + -11.475916936288884, 此时loss是: 50.229049149211136\n",
      "在第1771步，我们获得了函数 f(rm) = 5.456660787650884 * rm + -11.481494619223929, 此时loss是: 50.2258615929797\n",
      "在第1772步，我们获得了函数 f(rm) = 5.457537416829673 * rm + -11.487070960880933, 此时loss是: 50.222675569601584\n",
      "在第1773步，我们获得了函数 f(rm) = 5.458413835203459 * rm + -11.492645961582436, 此时loss是: 50.21949107833973\n",
      "在第1774步，我们获得了函数 f(rm) = 5.459290042822934 * rm + -11.498219621650902, 此时loss是: 50.216308118457505\n",
      "在第1775步，我们获得了函数 f(rm) = 5.46016603973878 * rm + -11.503791941408714, 此时loss是: 50.21312668921818\n",
      "在第1776步，我们获得了函数 f(rm) = 5.461041826001665 * rm + -11.50936292117818, 此时loss是: 50.20994678988599\n",
      "在第1777步，我们获得了函数 f(rm) = 5.461917401662245 * rm + -11.514932561281531, 此时loss是: 50.20676841972502\n",
      "在第1778步，我们获得了函数 f(rm) = 5.462792766771164 * rm + -11.52050086204092, 此时loss是: 50.203591578000015\n",
      "在第1779步，我们获得了函数 f(rm) = 5.463667921379053 * rm + -11.52606782377842, 此时loss是: 50.20041626397601\n",
      "在第1780步，我们获得了函数 f(rm) = 5.464542865536533 * rm + -11.53163344681603, 此时loss是: 50.19724247691818\n",
      "在第1781步，我们获得了函数 f(rm) = 5.465417599294211 * rm + -11.53719773147567, 此时loss是: 50.194070216092385\n",
      "在第1782步，我们获得了函数 f(rm) = 5.466292122702683 * rm + -11.542760678079183, 此时loss是: 50.19089948076463\n",
      "在第1783步，我们获得了函数 f(rm) = 5.467166435812531 * rm + -11.548322286948334, 此时loss是: 50.187730270201314\n",
      "在第1784步，我们获得了函数 f(rm) = 5.468040538674326 * rm + -11.553882558404812, 此时loss是: 50.18456258366918\n",
      "在第1785步，我们获得了函数 f(rm) = 5.468914431338627 * rm + -11.559441492770226, 此时loss是: 50.18139642043548\n",
      "在第1786步，我们获得了函数 f(rm) = 5.469788113855981 * rm + -11.564999090366111, 此时loss是: 50.17823177976748\n",
      "在第1787步，我们获得了函数 f(rm) = 5.470661586276923 * rm + -11.570555351513923, 此时loss是: 50.17506866093312\n",
      "在第1788步，我们获得了函数 f(rm) = 5.471534848651975 * rm + -11.576110276535038, 此时loss是: 50.17190706320049\n",
      "在第1789步，我们获得了函数 f(rm) = 5.472407901031646 * rm + -11.58166386575076, 此时loss是: 50.16874698583817\n",
      "在第1790步，我们获得了函数 f(rm) = 5.473280743466436 * rm + -11.587216119482314, 此时loss是: 50.16558842811516\n",
      "在第1791步，我们获得了函数 f(rm) = 5.4741533760068295 * rm + -11.592767038050843, 此时loss是: 50.162431389300345\n",
      "在第1792步，我们获得了函数 f(rm) = 5.4750257987033 * rm + -11.59831662177742, 此时loss是: 50.15927586866364\n",
      "在第1793步，我们获得了函数 f(rm) = 5.4758980116063105 * rm + -11.603864870983035, 此时loss是: 50.15612186547476\n",
      "在第1794步，我们获得了函数 f(rm) = 5.47677001476631 * rm + -11.609411785988605, 此时loss是: 50.15296937900413\n",
      "在第1795步，我们获得了函数 f(rm) = 5.477641808233736 * rm + -11.61495736711497, 此时loss是: 50.149818408522314\n",
      "在第1796步，我们获得了函数 f(rm) = 5.478513392059013 * rm + -11.620501614682887, 此时loss是: 50.14666895330023\n",
      "在第1797步，我们获得了函数 f(rm) = 5.479384766292555 * rm + -11.626044529013042, 此时loss是: 50.14352101260931\n",
      "在第1798步，我们获得了函数 f(rm) = 5.480255930984764 * rm + -11.63158611042604, 此时loss是: 50.14037458572127\n",
      "在第1799步，我们获得了函数 f(rm) = 5.481126886186026 * rm + -11.637126359242414, 此时loss是: 50.137229671908\n",
      "在第1800步，我们获得了函数 f(rm) = 5.481997631946719 * rm + -11.642665275782614, 此时loss是: 50.13408627044196\n",
      "在第1801步，我们获得了函数 f(rm) = 5.482868168317208 * rm + -11.648202860367016, 此时loss是: 50.13094438059594\n",
      "在第1802步，我们获得了函数 f(rm) = 5.483738495347845 * rm + -11.653739113315918, 此时loss是: 50.1278040016429\n",
      "在第1803步，我们获得了函数 f(rm) = 5.484608613088973 * rm + -11.659274034949542, 此时loss是: 50.12466513285633\n",
      "在第1804步，我们获得了函数 f(rm) = 5.485478521590917 * rm + -11.66480762558803, 此时loss是: 50.12152777351006\n",
      "在第1805步，我们获得了函数 f(rm) = 5.486348220903994 * rm + -11.670339885551455, 此时loss是: 50.11839192287808\n",
      "在第1806步，我们获得了函数 f(rm) = 5.487217711078509 * rm + -11.675870815159803, 此时loss是: 50.11525758023507\n",
      "在第1807步，我们获得了函数 f(rm) = 5.488086992164755 * rm + -11.681400414732988, 此时loss是: 50.1121247448557\n",
      "在第1808步，我们获得了函数 f(rm) = 5.488956064213008 * rm + -11.686928684590846, 此时loss是: 50.10899341601521\n",
      "在第1809步，我们获得了函数 f(rm) = 5.48982492727354 * rm + -11.692455625053139, 此时loss是: 50.105863592989124\n",
      "在第1810步，我们获得了函数 f(rm) = 5.490693581396604 * rm + -11.697981236439547, 此时loss是: 50.102735275053284\n",
      "在第1811步，我们获得了函数 f(rm) = 5.491562026632446 * rm + -11.70350551906968, 此时loss是: 50.099608461483946\n",
      "在第1812步，我们获得了函数 f(rm) = 5.492430263031296 * rm + -11.709028473263063, 此时loss是: 50.09648315155766\n",
      "在第1813步，我们获得了函数 f(rm) = 5.493298290643374 * rm + -11.71455009933915, 此时loss是: 50.09335934455134\n",
      "在第1814步，我们获得了函数 f(rm) = 5.494166109518886 * rm + -11.720070397617315, 此时loss是: 50.090237039742256\n",
      "在第1815步，我们获得了函数 f(rm) = 5.4950337197080295 * rm + -11.725589368416857, 此时loss是: 50.087116236408114\n",
      "在第1816步，我们获得了函数 f(rm) = 5.495901121260987 * rm + -11.731107012056999, 此时loss是: 50.08399693382669\n",
      "在第1817步，我们获得了函数 f(rm) = 5.496768314227929 * rm + -11.736623328856885, 此时loss是: 50.08087913127642\n",
      "在第1818步，我们获得了函数 f(rm) = 5.4976352986590165 * rm + -11.742138319135584, 此时loss是: 50.077762828035915\n",
      "在第1819步，我们获得了函数 f(rm) = 5.498502074604395 * rm + -11.747651983212087, 此时loss是: 50.07464802338428\n",
      "在第1820步，我们获得了函数 f(rm) = 5.4993686421142 * rm + -11.75316432140531, 此时loss是: 50.071534716600645\n",
      "在第1821步，我们获得了函数 f(rm) = 5.500235001238553 * rm + -11.75867533403409, 此时loss是: 50.068422906964834\n",
      "在第1822步，我们获得了函数 f(rm) = 5.501101152027568 * rm + -11.764185021417187, 此时loss是: 50.065312593757014\n",
      "在第1823步，我们获得了函数 f(rm) = 5.501967094531342 * rm + -11.769693383873289, 此时loss是: 50.062203776257455\n",
      "在第1824步，我们获得了函数 f(rm) = 5.502832828799962 * rm + -11.775200421721003, 此时loss是: 50.05909645374675\n",
      "在第1825步，我们获得了函数 f(rm) = 5.503698354883502 * rm + -11.780706135278859, 此时loss是: 50.055990625506254\n",
      "在第1826步，我们获得了函数 f(rm) = 5.504563672832026 * rm + -11.786210524865313, 此时loss是: 50.05288629081716\n",
      "在第1827步，我们获得了函数 f(rm) = 5.505428782695584 * rm + -11.791713590798745, 此时loss是: 50.049783448961314\n",
      "在第1828步，我们获得了函数 f(rm) = 5.506293684524215 * rm + -11.797215333397455, 此时loss是: 50.04668209922093\n",
      "在第1829步，我们获得了函数 f(rm) = 5.507158378367946 * rm + -11.802715752979669, 此时loss是: 50.043582240878294\n",
      "在第1830步，我们获得了函数 f(rm) = 5.508022864276791 * rm + -11.808214849863536, 此时loss是: 50.04048387321641\n",
      "在第1831步，我们获得了函数 f(rm) = 5.508887142300752 * rm + -11.813712624367126, 此时loss是: 50.037386995518254\n",
      "在第1832步，我们获得了函数 f(rm) = 5.509751212489821 * rm + -11.819209076808438, 此时loss是: 50.03429160706741\n",
      "在第1833步，我们获得了函数 f(rm) = 5.510615074893975 * rm + -11.82470420750539, 此时loss是: 50.03119770714771\n",
      "在第1834步，我们获得了函数 f(rm) = 5.511478729563182 * rm + -11.830198016775824, 此时loss是: 50.028105295043346\n",
      "在第1835步，我们获得了函数 f(rm) = 5.512342176547395 * rm + -11.835690504937508, 此时loss是: 50.02501437003881\n",
      "在第1836步，我们获得了函数 f(rm) = 5.513205415896558 * rm + -11.841181672308132, 此时loss是: 50.021924931418994\n",
      "在第1837步，我们获得了函数 f(rm) = 5.5140684476606 * rm + -11.846671519205307, 此时loss是: 50.018836978469146\n",
      "在第1838步，我们获得了函数 f(rm) = 5.514931271889441 * rm + -11.852160045946572, 此时loss是: 50.015750510474795\n",
      "在第1839步，我们获得了函数 f(rm) = 5.515793888632986 * rm + -11.85764725284939, 此时loss是: 50.01266552672189\n",
      "在第1840步，我们获得了函数 f(rm) = 5.51665629794113 * rm + -11.863133140231142, 此时loss是: 50.009582026496524\n",
      "在第1841步，我们获得了函数 f(rm) = 5.5175184998637565 * rm + -11.868617708409138, 此时loss是: 50.006500009085556\n",
      "在第1842步，我们获得了函数 f(rm) = 5.518380494450734 * rm + -11.874100957700609, 此时loss是: 50.003419473775715\n",
      "在第1843步，我们获得了函数 f(rm) = 5.519242281751922 * rm + -11.87958288842271, 此时loss是: 50.00034041985429\n",
      "在第1844步，我们获得了函数 f(rm) = 5.520103861817168 * rm + -11.885063500892523, 此时loss是: 49.99726284660896\n",
      "在第1845步，我们获得了函数 f(rm) = 5.520965234696304 * rm + -11.890542795427049, 此时loss是: 49.994186753327725\n",
      "在第1846步，我们获得了函数 f(rm) = 5.521826400439155 * rm + -11.896020772343215, 此时loss是: 49.9911121392988\n",
      "在第1847步，我们获得了函数 f(rm) = 5.52268735909553 * rm + -11.901497431957873, 此时loss是: 49.98803900381092\n",
      "在第1848步，我们获得了函数 f(rm) = 5.523548110715228 * rm + -11.906972774587796, 此时loss是: 49.98496734615295\n",
      "在第1849步，我们获得了函数 f(rm) = 5.524408655348036 * rm + -11.912446800549684, 此时loss是: 49.9818971656143\n",
      "在第1850步，我们获得了函数 f(rm) = 5.525268993043729 * rm + -11.917919510160159, 此时loss是: 49.97882846148474\n",
      "在第1851步，我们获得了函数 f(rm) = 5.526129123852067 * rm + -11.923390903735765, 此时loss是: 49.975761233054065\n",
      "在第1852步，我们获得了函数 f(rm) = 5.526989047822804 * rm + -11.928860981592972, 此时loss是: 49.97269547961277\n",
      "在第1853步，我们获得了函数 f(rm) = 5.527848765005677 * rm + -11.934329744048176, 此时loss是: 49.96963120045158\n",
      "在第1854步，我们获得了函数 f(rm) = 5.5287082754504135 * rm + -11.939797191417695, 此时loss是: 49.966568394861405\n",
      "在第1855步，我们获得了函数 f(rm) = 5.529567579206726 * rm + -11.945263324017768, 此时loss是: 49.96350706213379\n",
      "在第1856步，我们获得了函数 f(rm) = 5.53042667632432 * rm + -11.95072814216456, 此时loss是: 49.96044720156033\n",
      "在第1857步，我们获得了函数 f(rm) = 5.531285566852887 * rm + -11.956191646174165, 此时loss是: 49.95738881243312\n",
      "在第1858步，我们获得了函数 f(rm) = 5.532144250842103 * rm + -11.961653836362593, 此时loss是: 49.954331894044564\n",
      "在第1859步，我们获得了函数 f(rm) = 5.533002728341637 * rm + -11.967114713045783, 此时loss是: 49.95127644568741\n",
      "在第1860步，我们获得了函数 f(rm) = 5.533860999401143 * rm + -11.972574276539595, 此时loss是: 49.94822246665475\n",
      "在第1861步，我们获得了函数 f(rm) = 5.5347190640702655 * rm + -11.978032527159815, 此时loss是: 49.945169956239994\n",
      "在第1862步，我们获得了函数 f(rm) = 5.535576922398634 * rm + -11.983489465222155, 此时loss是: 49.942118913736856\n",
      "在第1863步，我们获得了函数 f(rm) = 5.5364345744358685 * rm + -11.988945091042245, 此时loss是: 49.939069338439495\n",
      "在第1864步，我们获得了函数 f(rm) = 5.537292020231576 * rm + -11.994399404935645, 此时loss是: 49.936021229642364\n",
      "在第1865步，我们获得了函数 f(rm) = 5.538149259835352 * rm + -11.999852407217839, 此时loss是: 49.93297458664019\n",
      "在第1866步，我们获得了函数 f(rm) = 5.53900629329678 * rm + -12.00530409820423, 此时loss是: 49.929929408728064\n",
      "在第1867步，我们获得了函数 f(rm) = 5.539863120665433 * rm + -12.01075447821015, 此时loss是: 49.92688569520157\n",
      "在第1868步，我们获得了函数 f(rm) = 5.540719741990868 * rm + -12.016203547550852, 此时loss是: 49.92384344535648\n",
      "在第1869步，我们获得了函数 f(rm) = 5.541576157322634 * rm + -12.021651306541514, 此时loss是: 49.92080265848882\n",
      "在第1870步，我们获得了函数 f(rm) = 5.542432366710267 * rm + -12.027097755497241, 此时loss是: 49.91776333389509\n",
      "在第1871步，我们获得了函数 f(rm) = 5.543288370203291 * rm + -12.03254289473306, 此时loss是: 49.91472547087216\n",
      "在第1872步，我们获得了函数 f(rm) = 5.544144167851216 * rm + -12.037986724563922, 此时loss是: 49.91168906871713\n",
      "在第1873步，我们获得了函数 f(rm) = 5.544999759703544 * rm + -12.0434292453047, 此时loss是: 49.90865412672756\n",
      "在第1874步，我们获得了函数 f(rm) = 5.545855145809763 * rm + -12.048870457270198, 此时loss是: 49.90562064420119\n",
      "在第1875步，我们获得了函数 f(rm) = 5.5467103262193485 * rm + -12.054310360775137, 此时loss是: 49.90258862043626\n",
      "在第1876步，我们获得了函数 f(rm) = 5.5475653009817645 * rm + -12.059748956134166, 此时loss是: 49.89955805473115\n",
      "在第1877步，我们获得了函数 f(rm) = 5.548420070146465 * rm + -12.06518624366186, 此时loss是: 49.896528946384905\n",
      "在第1878步，我们获得了函数 f(rm) = 5.549274633762889 * rm + -12.070622223672714, 此时loss是: 49.89350129469649\n",
      "在第1879步，我们获得了函数 f(rm) = 5.550128991880466 * rm + -12.07605689648115, 此时loss是: 49.89047509896553\n",
      "在第1880步，我们获得了函数 f(rm) = 5.550983144548613 * rm + -12.081490262401514, 此时loss是: 49.88745035849184\n",
      "在第1881步，我们获得了函数 f(rm) = 5.551837091816735 * rm + -12.086922321748077, 此时loss是: 49.88442707257567\n",
      "在第1882步，我们获得了函数 f(rm) = 5.552690833734222 * rm + -12.092353074835032, 此时loss是: 49.881405240517445\n",
      "在第1883步，我们获得了函数 f(rm) = 5.55354437035046 * rm + -12.0977825219765, 此时loss是: 49.878384861618\n",
      "在第1884步，我们获得了函数 f(rm) = 5.554397701714815 * rm + -12.103210663486523, 此时loss是: 49.8753659351787\n",
      "在第1885步，我们获得了函数 f(rm) = 5.5552508278766455 * rm + -12.108637499679071, 此时loss是: 49.87234846050092\n",
      "在第1886步，我们获得了函数 f(rm) = 5.556103748885296 * rm + -12.114063030868037, 此时loss是: 49.869332436886616\n",
      "在第1887步，我们获得了函数 f(rm) = 5.556956464790102 * rm + -12.119487257367236, 此时loss是: 49.866317863637924\n",
      "在第1888步，我们获得了函数 f(rm) = 5.557808975640384 * rm + -12.124910179490412, 此时loss是: 49.86330474005745\n",
      "在第1889步，我们获得了函数 f(rm) = 5.558661281485453 * rm + -12.130331797551229, 此时loss是: 49.860293065447976\n",
      "在第1890步，我们获得了函数 f(rm) = 5.559513382374604 * rm + -12.135752111863278, 此时loss是: 49.85728283911282\n",
      "在第1891步，我们获得了函数 f(rm) = 5.560365278357126 * rm + -12.141171122740076, 此时loss是: 49.854274060355436\n",
      "在第1892步，我们获得了函数 f(rm) = 5.5612169694822935 * rm + -12.146588830495062, 此时loss是: 49.85126672847981\n",
      "在第1893步，我们获得了函数 f(rm) = 5.562068455799368 * rm + -12.152005235441601, 此时loss是: 49.84826084279002\n",
      "在第1894步，我们获得了函数 f(rm) = 5.562919737357601 * rm + -12.157420337892981, 此时loss是: 49.84525640259073\n",
      "在第1895步，我们获得了函数 f(rm) = 5.563770814206229 * rm + -12.162834138162419, 此时loss是: 49.84225340718668\n",
      "在第1896步，我们获得了函数 f(rm) = 5.564621686394482 * rm + -12.168246636563051, 此时loss是: 49.83925185588324\n",
      "在第1897步，我们获得了函数 f(rm) = 5.5654723539715745 * rm + -12.17365783340794, 此时loss是: 49.8362517479859\n",
      "在第1898步，我们获得了函数 f(rm) = 5.566322816986709 * rm + -12.179067729010077, 此时loss是: 49.833253082800525\n",
      "在第1899步，我们获得了函数 f(rm) = 5.567173075489078 * rm + -12.184476323682372, 此时loss是: 49.83025585963339\n",
      "在第1900步，我们获得了函数 f(rm) = 5.568023129527858 * rm + -12.189883617737664, 此时loss是: 49.82726007779103\n",
      "在第1901步，我们获得了函数 f(rm) = 5.5688729791522205 * rm + -12.195289611488715, 此时loss是: 49.82426573658027\n",
      "在第1902步，我们获得了函数 f(rm) = 5.56972262441132 * rm + -12.200694305248211, 此时loss是: 49.82127283530837\n",
      "在第1903步，我们获得了函数 f(rm) = 5.570572065354301 * rm + -12.206097699328765, 此时loss是: 49.81828137328296\n",
      "在第1904步，我们获得了函数 f(rm) = 5.571421302030295 * rm + -12.211499794042913, 此时loss是: 49.81529134981178\n",
      "在第1905步，我们获得了函数 f(rm) = 5.572270334488424 * rm + -12.216900589703117, 此时loss是: 49.81230276420315\n",
      "在第1906步，我们获得了函数 f(rm) = 5.573119162777795 * rm + -12.222300086621765, 此时loss是: 49.80931561576553\n",
      "在第1907步，我们获得了函数 f(rm) = 5.573967786947507 * rm + -12.227698285111165, 此时loss是: 49.806329903807956\n",
      "在第1908步，我们获得了函数 f(rm) = 5.574816207046643 * rm + -12.233095185483556, 此时loss是: 49.80334562763946\n",
      "在第1909步，我们获得了函数 f(rm) = 5.575664423124278 * rm + -12.238490788051099, 此时loss是: 49.800362786569785\n",
      "在第1910步，我们获得了函数 f(rm) = 5.576512435229472 * rm + -12.24388509312588, 此时loss是: 49.797381379908636\n",
      "在第1911步，我们获得了函数 f(rm) = 5.577360243411277 * rm + -12.249278101019907, 此时loss是: 49.79440140696635\n",
      "在第1912步，我们获得了函数 f(rm) = 5.578207847718728 * rm + -12.254669812045119, 此时loss是: 49.7914228670534\n",
      "在第1913步，我们获得了函数 f(rm) = 5.579055248200853 * rm + -12.260060226513376, 此时loss是: 49.78844575948063\n",
      "在第1914步，我们获得了函数 f(rm) = 5.579902444906666 * rm + -12.265449344736465, 此时loss是: 49.78547008355936\n",
      "在第1915步，我们获得了函数 f(rm) = 5.58074943788517 * rm + -12.270837167026096, 此时loss是: 49.78249583860102\n",
      "在第1916步，我们获得了函数 f(rm) = 5.581596227185354 * rm + -12.276223693693906, 此时loss是: 49.779523023917605\n",
      "在第1917步，我们获得了函数 f(rm) = 5.5824428128562 * rm + -12.281608925051454, 此时loss是: 49.77655163882113\n",
      "在第1918步，我们获得了函数 f(rm) = 5.583289194946672 * rm + -12.28699286141023, 此时loss是: 49.77358168262424\n",
      "在第1919步，我们获得了函数 f(rm) = 5.5841353735057275 * rm + -12.292375503081642, 此时loss是: 49.77061315463989\n",
      "在第1920步，我们获得了函数 f(rm) = 5.58498134858231 * rm + -12.297756850377027, 此时loss是: 49.767646054181085\n",
      "在第1921步，我们获得了函数 f(rm) = 5.58582712022535 * rm + -12.303136903607648, 此时loss是: 49.764680380561416\n",
      "在第1922步，我们获得了函数 f(rm) = 5.586672688483769 * rm + -12.30851566308469, 此时loss是: 49.761716133094815\n",
      "在第1923步，我们获得了函数 f(rm) = 5.587518053406474 * rm + -12.313893129119265, 此时loss是: 49.758753311095354\n",
      "在第1924步，我们获得了函数 f(rm) = 5.588363215042364 * rm + -12.31926930202241, 此时loss是: 49.75579191387756\n",
      "在第1925步，我们获得了函数 f(rm) = 5.589208173440321 * rm + -12.32464418210509, 此时loss是: 49.7528319407563\n",
      "在第1926步，我们获得了函数 f(rm) = 5.59005292864922 * rm + -12.330017769678188, 此时loss是: 49.74987339104678\n",
      "在第1927步，我们获得了函数 f(rm) = 5.5908974807179215 * rm + -12.335390065052518, 此时loss是: 49.74691626406449\n",
      "在第1928步，我们获得了函数 f(rm) = 5.591741829695276 * rm + -12.34076106853882, 此时loss是: 49.74396055912522\n",
      "在第1929步，我们获得了函数 f(rm) = 5.5925859756301195 * rm + -12.346130780447755, 此时loss是: 49.74100627554513\n",
      "在第1930步，我们获得了函数 f(rm) = 5.593429918571281 * rm + -12.351499201089913, 此时loss是: 49.738053412640724\n",
      "在第1931步，我们获得了函数 f(rm) = 5.594273658567572 * rm + -12.356866330775809, 此时loss是: 49.73510196972885\n",
      "在第1932步，我们获得了函数 f(rm) = 5.595117195667796 * rm + -12.36223216981588, 此时loss是: 49.732151946126514\n",
      "在第1933步，我们获得了函数 f(rm) = 5.595960529920744 * rm + -12.36759671852049, 此时loss是: 49.729203341151376\n",
      "在第1934步，我们获得了函数 f(rm) = 5.596803661375196 * rm + -12.372959977199931, 此时loss是: 49.72625615412118\n",
      "在第1935步，我们获得了函数 f(rm) = 5.597646590079919 * rm + -12.378321946164418, 此时loss是: 49.72331038435397\n",
      "在第1936步，我们获得了函数 f(rm) = 5.598489316083668 * rm + -12.38368262572409, 此时loss是: 49.72036603116826\n",
      "在第1937步，我们获得了函数 f(rm) = 5.599331839435187 * rm + -12.389042016189014, 此时loss是: 49.71742309388296\n",
      "在第1938步，我们获得了函数 f(rm) = 5.600174160183209 * rm + -12.394400117869182, 此时loss是: 49.71448157181697\n",
      "在第1939步，我们获得了函数 f(rm) = 5.601016278376454 * rm + -12.39975693107451, 此时loss是: 49.71154146428976\n",
      "在第1940步，我们获得了函数 f(rm) = 5.60185819406363 * rm + -12.405112456114841, 此时loss是: 49.70860277062125\n",
      "在第1941步，我们获得了函数 f(rm) = 5.602699907293435 * rm + -12.410466693299943, 此时loss是: 49.7056654901314\n",
      "在第1942步，我们获得了函数 f(rm) = 5.603541418114555 * rm + -12.41581964293951, 此时loss是: 49.70272962214071\n",
      "在第1943步，我们获得了函数 f(rm) = 5.604382726575664 * rm + -12.42117130534316, 此时loss是: 49.69979516596984\n",
      "在第1944步，我们获得了函数 f(rm) = 5.605223832725422 * rm + -12.426521680820438, 此时loss是: 49.69686212093987\n",
      "在第1945步，我们获得了函数 f(rm) = 5.606064736612479 * rm + -12.431870769680813, 此时loss是: 49.69393048637236\n",
      "在第1946步，我们获得了函数 f(rm) = 5.606905438285477 * rm + -12.437218572233682, 此时loss是: 49.691000261588854\n",
      "在第1947步，我们获得了函数 f(rm) = 5.60774593779304 * rm + -12.442565088788367, 此时loss是: 49.68807144591155\n",
      "在第1948步，我们获得了函数 f(rm) = 5.608586235183783 * rm + -12.447910319654113, 此时loss是: 49.68514403866262\n",
      "在第1949步，我们获得了函数 f(rm) = 5.609426330506311 * rm + -12.453254265140094, 此时loss是: 49.68221803916506\n",
      "在第1950步，我们获得了函数 f(rm) = 5.610266223809216 * rm + -12.458596925555408, 此时loss是: 49.67929344674165\n",
      "在第1951步，我们获得了函数 f(rm) = 5.611105915141076 * rm + -12.46393830120908, 此时loss是: 49.676370260715764\n",
      "在第1952步，我们获得了函数 f(rm) = 5.611945404550461 * rm + -12.469278392410056, 此时loss是: 49.67344848041131\n",
      "在第1953步，我们获得了函数 f(rm) = 5.612784692085928 * rm + -12.474617199467213, 此时loss是: 49.67052810515207\n",
      "在第1954步，我们获得了函数 f(rm) = 5.613623777796022 * rm + -12.479954722689353, 此时loss是: 49.66760913426247\n",
      "在第1955步，我们获得了函数 f(rm) = 5.614462661729275 * rm + -12.485290962385202, 此时loss是: 49.66469156706716\n",
      "在第1956步，我们获得了函数 f(rm) = 5.61530134393421 * rm + -12.490625918863412, 此时loss是: 49.66177540289107\n",
      "在第1957步，我们获得了函数 f(rm) = 5.616139824459337 * rm + -12.495959592432563, 此时loss是: 49.65886064105961\n",
      "在第1958步，我们获得了函数 f(rm) = 5.616978103353154 * rm + -12.501291983401156, 此时loss是: 49.655947280898275\n",
      "在第1959步，我们获得了函数 f(rm) = 5.617816180664148 * rm + -12.506623092077623, 此时loss是: 49.65303532173311\n",
      "在第1960步，我们获得了函数 f(rm) = 5.618654056440794 * rm + -12.51195291877032, 此时loss是: 49.650124762890435\n",
      "在第1961步，我们获得了函数 f(rm) = 5.619491730731555 * rm + -12.517281463787526, 此时loss是: 49.64721560369677\n",
      "在第1962步，我们获得了函数 f(rm) = 5.620329203584884 * rm + -12.522608727437452, 此时loss是: 49.644307843479076\n",
      "在第1963步，我们获得了函数 f(rm) = 5.621166475049219 * rm + -12.52793471002823, 此时loss是: 49.64140148156459\n",
      "在第1964步，我们获得了函数 f(rm) = 5.622003545172991 * rm + -12.533259411867919, 此时loss是: 49.63849651728087\n",
      "在第1965步，我们获得了函数 f(rm) = 5.622840414004615 * rm + -12.538582833264503, 此时loss是: 49.63559294995583\n",
      "在第1966步，我们获得了函数 f(rm) = 5.623677081592497 * rm + -12.543904974525894, 此时loss是: 49.632690778917755\n",
      "在第1967步，我们获得了函数 f(rm) = 5.62451354798503 * rm + -12.549225835959929, 此时loss是: 49.62979000349514\n",
      "在第1968步，我们获得了函数 f(rm) = 5.625349813230597 * rm + -12.55454541787437, 此时loss是: 49.626890623016784\n",
      "在第1969步，我们获得了函数 f(rm) = 5.626185877377567 * rm + -12.559863720576908, 此时loss是: 49.62399263681195\n",
      "在第1970步，我们获得了函数 f(rm) = 5.627021740474298 * rm + -12.565180744375157, 此时loss是: 49.6210960442102\n",
      "在第1971步，我们获得了函数 f(rm) = 5.6278574025691395 * rm + -12.570496489576657, 此时loss是: 49.61820084454124\n",
      "在第1972步，我们获得了函数 f(rm) = 5.628692863710425 * rm + -12.575810956488876, 此时loss是: 49.61530703713526\n",
      "在第1973步，我们获得了函数 f(rm) = 5.6295281239464785 * rm + -12.581124145419206, 此时loss是: 49.61241462132293\n",
      "在第1974步，我们获得了函数 f(rm) = 5.6303631833256125 * rm + -12.586436056674968, 此时loss是: 49.60952359643481\n",
      "在第1975步，我们获得了函数 f(rm) = 5.631198041896128 * rm + -12.591746690563406, 此时loss是: 49.60663396180206\n",
      "在第1976步，我们获得了函数 f(rm) = 5.632032699706312 * rm + -12.597056047391693, 此时loss是: 49.60374571675626\n",
      "在第1977步，我们获得了函数 f(rm) = 5.632867156804444 * rm + -12.602364127466924, 此时loss是: 49.600858860629025\n",
      "在第1978步，我们获得了函数 f(rm) = 5.633701413238789 * rm + -12.607670931096125, 此时loss是: 49.59797339275249\n",
      "在第1979步，我们获得了函数 f(rm) = 5.6345354690576 * rm + -12.612976458586246, 此时loss是: 49.595089312459095\n",
      "在第1980步，我们获得了函数 f(rm) = 5.635369324309122 * rm + -12.61828071024416, 此时loss是: 49.59220661908157\n",
      "在第1981步，我们获得了函数 f(rm) = 5.636202979041582 * rm + -12.623583686376673, 此时loss是: 49.589325311953004\n",
      "在第1982步，我们获得了函数 f(rm) = 5.637036433303202 * rm + -12.628885387290511, 此时loss是: 49.586445390406666\n",
      "在第1983步，我们获得了函数 f(rm) = 5.6378696871421905 * rm + -12.63418581329233, 此时loss是: 49.58356685377637\n",
      "在第1984步，我们获得了函数 f(rm) = 5.638702740606742 * rm + -12.63948496468871, 此时loss是: 49.58068970139591\n",
      "在第1985步，我们获得了函数 f(rm) = 5.63953559374504 * rm + -12.64478284178616, 此时loss是: 49.57781393259984\n",
      "在第1986步，我们获得了函数 f(rm) = 5.640368246605259 * rm + -12.650079444891112, 此时loss是: 49.574939546722796\n",
      "在第1987步，我们获得了函数 f(rm) = 5.641200699235561 * rm + -12.655374774309927, 此时loss是: 49.572066543099645\n",
      "在第1988步，我们获得了函数 f(rm) = 5.642032951684093 * rm + -12.66066883034889, 此时loss是: 49.569194921065645\n",
      "在第1989步，我们获得了函数 f(rm) = 5.642865003998996 * rm + -12.665961613314213, 此时loss是: 49.56632467995652\n",
      "在第1990步，我们获得了函数 f(rm) = 5.643696856228395 * rm + -12.671253123512036, 此时loss是: 49.56345581910825\n",
      "在第1991步，我们获得了函数 f(rm) = 5.644528508420406 * rm + -12.676543361248424, 此时loss是: 49.56058833785695\n",
      "在第1992步，我们获得了函数 f(rm) = 5.645359960623131 * rm + -12.681832326829369, 此时loss是: 49.557722235539266\n",
      "在第1993步，我们获得了函数 f(rm) = 5.646191212884664 * rm + -12.687120020560789, 此时loss是: 49.55485751149208\n",
      "在第1994步，我们获得了函数 f(rm) = 5.647022265253083 * rm + -12.692406442748528, 此时loss是: 49.55199416505257\n",
      "在第1995步，我们获得了函数 f(rm) = 5.647853117776458 * rm + -12.697691593698357, 此时loss是: 49.549132195558265\n",
      "在第1996步，我们获得了函数 f(rm) = 5.6486837705028465 * rm + -12.702975473715973, 此时loss是: 49.546271602347076\n",
      "在第1997步，我们获得了函数 f(rm) = 5.649514223480293 * rm + -12.708258083107003, 此时loss是: 49.54341238475707\n",
      "在第1998步，我们获得了函数 f(rm) = 5.650344476756832 * rm + -12.713539422176995, 此时loss是: 49.54055454212677\n",
      "在第1999步，我们获得了函数 f(rm) = 5.651174530380487 * rm + -12.718819491231425, 此时loss是: 49.537698073795035\n"
     ]
    }
   ],
   "source": [
    "def partial_k(k, b, x, y):\n",
    "    return 2 * np.mean((k * x + b - y) * x)\n",
    "\n",
    "def partial_b(k, b, x, y):\n",
    "    return 2 * np.mean(k * x + b - y)\n",
    "\n",
    "k, b = random.random(), random.random()\n",
    "min_loss = float('inf')\n",
    "best_k, bes_b = None, None\n",
    "learning_rate = 1e-2\n",
    "\n",
    "for step in range(2000):\n",
    "    k, b = k + (-1 * partial_k(k, b, x, y) * learning_rate), b + (-1 * partial_b(k, b, x, y) * learning_rate)\n",
    "    y_hats = k * x + b\n",
    "    current_loss = loss(y_hats, y)\n",
    "    \n",
    "    if current_loss < min_loss:\n",
    "        min_loss = current_loss\n",
    "        best_k, best_b = k, b\n",
    "        print('在第{}步，我们获得了函数 f(rm) = {} * rm + {}, 此时loss是: {}'.format(step, k, b, current_loss))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(5.651174530380487, -12.718819491231425)"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_k, best_b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f783c1e14d0>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.scatter(x, [best_k * rm + best_b for rm in x])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Supervised Learning"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 我们把房价的预测 变成更加负责，精细的模型，该怎么做？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ f(x) = k * x + b $$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ f(x) = k2 * \\sigma(k_1 * x + b_1) + b2 $$\n",
    "\n",
    "$$ \\sigma(x) = \\frac{1}{1 + e^(-x)} $$ "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sigmoid(x):\n",
    "    return 1 / (1 + np.exp(-x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f783c1c0f10>]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sub_x = np.linspace(-10, 10)\n",
    "plt.plot(sub_x, sigmoid(sub_x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "def random_linear(x):\n",
    "    k, b = random.random(), random.random()\n",
    "    return k * x + b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "def complex_function(x):\n",
    "    return (random_linear(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for _ in range(10):\n",
    "    index = random.randrange(0, len(sub_x))\n",
    "    sub_x_1, sub_x_2 = sub_x[:index], sub_x[index:]\n",
    "    new_y = np.concatenate((complex_function(sub_x_1), complex_function(sub_x_2)))\n",
    "    plt.plot(sub_x, new_y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 我们可以通过简单的、基本的模块，经过反复的叠加，来实现更加复杂的函数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 面向越来越越复杂的函数？计算机如何求导？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 什么是机器学习？\n",
    "## 2. KNN这种方法的缺陷，提出线性拟合的背景是什么\n",
    "## 3. 怎么样通过监督的方法，来获得更快的函数权值更新\n",
    "## 4. 非线性函数和线性函数的结合，可以拟合出非常复杂的函数\n",
    "## 5. 深度学习我们可以通过基本的函数模块，来拟合更加复杂的函数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Assigment:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$ L2-Loss(y, \\hat{y}) = \\frac{1}{n}\\sum{(\\hat{y} - y)}^2 $$\n",
    "$$ L1-Loss(y, \\hat{y}) = \\frac{1}{n}\\sum{|(\\hat{y} - y)|} $$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## 将课堂代码中的L2-Loss 变成L1Loss 并且实现梯度下降\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}